从命令行获取设备的Android SDK版本

我打算构建一个自动化系统,用于将Android构建部署到各种设备,以便让多个平台的开发更加舒适。 有没有办法通过android shell或adb获取连接设备的sdk版本

将有一台计算机连接多个测试设备,我计划编写一个脚本,从构建服务器获取每个测试设备的正确版本,在各自的设备上安装不同的apks,启动它们并收集日志信息,可以通过其他规范不同的程序提供。

关键是我需要知道每个设备运行的sdk版本才能安装正确的apk,我希望我能通过adb获得这个,但我似乎无法find一种方法来访问它而不是构建一个小小的应用程序,兼容所有版本,其唯一目的是输出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:即使在所有主机操作系统上没有grep支持的手机上也能正常工作:-)。 (即在toolbox不支持grep旧手机上,你需要在手机上安装busybox )。

我还发现了一种基于以下网络文章http://xayon.net/looking-for-android-version-with-adb/获取Android的确切版本的方法,例如4.2.2。您需要使用unix-像操作系统 – Linux和Mac OSX都很好,Windows用户可以使用cygwin或同等的。

在命令行:

echo version=$(adb shell getprop |awk -F":" '/build.version.release/ { print $2 }')|tr -d '[]'

以下是我的Nexus 4的结果:

version= 4.2.2

我认为您可以通过adb shell访问设​​备 – 更改目录以将您定位到系统并执行build.prop的cat。 在这里你会发现例如ro.build.description = google_sdk-eng 2.2,ro.build.version.release = 2.2等