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

Ari*_*ild 15 shell sdk android version

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

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

关键是我需要知道每个设备运行的sdk版本才能安装正确的apk,我希望我能通过adb获得这个,但我似乎无法找到一种方法来访问它,而不是构建一个小小的应用程序,兼容所有版本,其唯一目的是输出android.os.Build.VERSION.SDK或类似的地方,我的脚本可以读取它.

Tim*_*Tim 30

你可以使用这个命令:

adb shell grep ro.build.version.sdk= system/build.prop
Run Code Online (Sandbox Code Playgroud)

它将输出如下内容:

ro.build.version.sdk=10
Run Code Online (Sandbox Code Playgroud)

祝愿,蒂姆

  • 一些较旧的Android手机没有"grep",但你可以这样做:````adb shell cat system/build.prop | grep ro.build.version.sdk =``` (2认同)

pev*_*vik 16

adb shell getprop ro.build.version.sdk
Run Code Online (Sandbox Code Playgroud)

注意@Tim:即使在没有grep所有主机操作系统支持的手机上也能正常工作:-).(即在您手机上toolbox不需要支持的旧手机上).grepbusybox


Jul*_*rty 5

我还发现了一种基于以下网络文章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