web-dev-qa-db-ja.com

コマンドラインからデバイスのSDKバージョンを取得するAndroid

複数のプラットフォームの開発をもう少し快適にするために、Androidビルドをさまざまなデバイスにデプロイするための自動システムを構築することを計画しています。sdkバージョンを取得する方法はありますか? Android Shellまたはadb?

複数のテストデバイスが接続されているコンピューターがあり、ビルドサーバーからそれぞれの正しいビルドをフェッチし、それぞれのデバイスに異なるapkをインストールして起動し、収集するスクリプトを作成することを計画していました。ログ情報。仕様が重要ではない他のプログラムを通じて利用できるようになります。

重要なのは、正しいapkをインストールするには、各デバイスが実行しているSDKのバージョンを知る必要があるということです。これをadbから取得できることを望んでいましたが、小さなものを作成する以外にアクセスする方法が見つからないようです。すべてのバージョンと互換性のあるアプリ。その唯一の目的は、Android.os.Build.VERSION.SDKまたは同様のものをスクリプトが読み取れる場所に出力することです。

15
Arild

次のコマンドを使用できます。

adb Shell grep ro.build.version.sdk= system/build.prop

次のような出力が表示されます。

ro.build.version.sdk=10

よろしくお願いします、ティム

28
Tim
adb Shell getprop ro.build.version.sdk

@Timに注意してください:これは、すべてのホストOSでgrepをサポートしていない電話でも機能します:-)。 (つまり、toolboxgrepをサポートしていない古い電話では、電話にbusyboxが必要です)。

14
pevik

また、次の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

5
JulianHarty

Adb Shellを使用してデバイスにアクセスすることで、できると思います。ディレクトリを変更してシステムに配置し、build.propのcatを実行します。ここには、たとえば、ro.build.description = google_sdk-eng 2.2、ro.build.version.release = 2.2などがあります。

3
Tor-Morten