Получение Android SDK версии устройства из командной строки - PullRequest
13 голосов
/ 09 ноября 2011

Я планирую создать автоматизированную систему для развертывания сборки Android на различных устройствах, чтобы сделать разработку для нескольких платформ более удобной. Есть ли способ получить SDK-версию подключенного устройства через оболочку Android или ADB?

Будет компьютер, к которому подключено несколько тестовых устройств, и я планировал написать скрипт, который будет выбирать правильную сборку для каждого из них с сервера сборки, устанавливать различные apks на их соответствующие устройства, запускать их и собирать информацию журнала, чтобы быть доступными через какую-то другую программу, чьи спецификации не имеют отношения к делу.

Дело в том, что мне нужно знать версию sdk, на которой работает каждое устройство, для установки правильного apk, и я надеялся, что смогу получить это через adb, но я не могу найти способ получить к нему доступ за исключением создание крошечного приложения, совместимого со всеми версиями, единственной целью которого будет вывод android.os.Build.VERSION.SDK или чего-то подобного, где мой скрипт мог бы его прочитать.

Ответы [ 4 ]

27 голосов
/ 09 ноября 2011

Вы можете использовать эту команду:

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

Будет выведено что-то вроде этого:

ro.build.version.sdk=10

С наилучшими пожеланиями, Тим

13 голосов
/ 12 февраля 2015
adb shell getprop ro.build.version.sdk

Примечание @Tim: это работает даже на телефонах без поддержки grep на всех хост-ОС :-).(т.е. на старых телефонах, где toolbox не поддерживает grep, вам необходимо иметь busybox на вашем телефоне).

5 голосов
/ 11 апреля 2013

Я также нашел способ получить точную версию Android, например 4.2.2 на основе следующей веб-статьи http://xayon.net/looking-for-android-version-with-adb/ Вам необходимо использовать 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

3 голосов
/ 09 ноября 2011

Я думаю, что вы можете получить доступ к устройству с помощью оболочки adb - измените каталоги, чтобы расположить вас в системе и сделать что-то вроде build.prop.Здесь вы найдете, например, ro.build.description = google_sdk-eng 2.2, ro.build.version.release = 2.2 и т. Д.

...