複数のプラットフォームの開発をもう少し快適にするために、Androidビルドをさまざまなデバイスにデプロイするための自動システムを構築することを計画しています。sdkバージョンを取得する方法はありますか? Android Shellまたはadb?
複数のテストデバイスが接続されているコンピューターがあり、ビルドサーバーからそれぞれの正しいビルドをフェッチし、それぞれのデバイスに異なるapkをインストールして起動し、収集するスクリプトを作成することを計画していました。ログ情報。仕様が重要ではない他のプログラムを通じて利用できるようになります。
重要なのは、正しいapkをインストールするには、各デバイスが実行しているSDKのバージョンを知る必要があるということです。これをadbから取得できることを望んでいましたが、小さなものを作成する以外にアクセスする方法が見つからないようです。すべてのバージョンと互換性のあるアプリ。その唯一の目的は、Android.os.Build.VERSION.SDKまたは同様のものをスクリプトが読み取れる場所に出力することです。
次のコマンドを使用できます。
adb Shell grep ro.build.version.sdk= system/build.prop
次のような出力が表示されます。
ro.build.version.sdk=10
よろしくお願いします、ティム
adb Shell getprop ro.build.version.sdk
@Timに注意してください:これは、すべてのホストOSでgrep
をサポートしていない電話でも機能します:-)。 (つまり、toolbox
がgrep
をサポートしていない古い電話では、電話にbusybox
が必要です)。
また、次のWeb記事に基づいてAndroid例:4.2.2の正確なバージョンを取得する方法を発見しました http://xayon.net/looking-for-Android-version -with-adb / UNIXライクなオペレーティングシステムを使用する必要があります-LinuxとMacOSXは問題なく、Windowsユーザーはcygwinまたは同等のものを使用できます。
コマンドラインで:
echo version=$(adb Shell getprop |awk -F":" '/build.version.release/ { print $2 }')|tr -d '[]'
これが私のNexus4の結果です。
version= 4.2.2
Adb Shellを使用してデバイスにアクセスすることで、できると思います。ディレクトリを変更してシステムに配置し、build.propのcatを実行します。ここには、たとえば、ro.build.description = google_sdk-eng 2.2、ro.build.version.release = 2.2などがあります。