Ответ 1
вы можете использовать эту команду:
adb shell grep ro.build.version.sdk= system/build.prop
Он выведет что-то вроде этого:
ro.build.version.sdk=10
С наилучшими пожеланиями, Тим
Я планирую создать автоматизированную систему для развертывания сборки Android на различных устройствах, чтобы сделать разработку для нескольких платформ более удобной. Есть ли способ получить версию sdk подключенного устройства через оболочку Android или adb?
Будет компьютер, к которому подключено несколько тестовых устройств, и я планировал написать script, который будет извлекать правильную сборку для каждого из них из сервера сборки, устанавливать разные apks на своих соответствующих устройствах, запускать их и собирать информацию о журнале, чтобы быть доступными через какую-либо другую программу, спецификации которой не указаны.
Дело в том, что мне нужно знать версию sdk, на которой выполняется каждое устройство, чтобы установить правильный apk, и я надеялся, что смогу получить это через adb, но я не могу найти способ получить к нему доступ создавая крошечное приложение, совместимое со всеми версиями, единственной целью которого было вывести файл android.os.Build.VERSION.SDK или аналогичный, где-то мой script мог его прочитать.
вы можете использовать эту команду:
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
на вашем телефоне).
Я также открыл способ получить точную версию 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
Я думаю, что вы можете получить доступ к устройству с помощью оболочки adb - сменить каталоги, чтобы разместить вас в системе и сделать кошку build.prop. Здесь вы найдете, например, ro.build.description = google_sdk-eng 2.2, ro.build.version.release = 2.2 и т.д.