2011-11-09 5 views
12

Je prévois de créer un système automatisé pour déployer une version d'Android sur différents périphériques, afin de rendre le développement de plusieurs plates-formes un peu plus confortable. Existe-t-il un moyen d'obtenir la version sdk d'un périphérique connecté via shell Android ou adb?Obtenir la version SDK Android d'un périphérique à partir de la ligne de commande

Il y aura un ordinateur auquel plusieurs périphériques de test sont connectés, et j'avais l'intention d'écrire un script qui récupérera la bonne version pour chacun d'entre eux à partir d'un serveur de build, installer les différents apk sur leurs périphériques respectifs, lancez-les et collectez des informations de journal, qui seront mises à disposition par le biais d'un autre programme dont les spécifications ne sont pas pertinentes. Le point est que j'ai besoin de connaître la version de sdk que chaque périphérique exécute pour installer l'apk correct, et j'espérais pouvoir l'obtenir via adb, mais je n'arrive pas à trouver un moyen d'y accéder rapidement de construire une application minuscule, compatible avec toutes les versions, dont le seul but serait de sortir android.os.Build.VERSION.SDK ou similaire quelque part mon script pourrait le lire.

+1

Merci à Tim et Tor-Morten; Désolé pour la réponse tardive, ça a été mouvementé pendant quelques semaines. ro.build.version.sdk convenait parfaitement à mes besoins :) Tim obtient l'acceptation parce que son phrasé était mieux adapté à l'exécution à partir d'un script pour obtenir la valeur. – Arild

Répondre

26

vous pouvez utiliser cette commande:

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

Il quelque chose de sortie comme ceci:

ro.build.version.sdk=10 

Meilleurs voeux, Tim

+2

Certains téléphones Android plus anciens n'ont pas "grep", mais vous pouvez le faire à la place: '' 'adb shell cat system/build.prop | grep ro.build.version.sdk = '' ' –

+0

@AlexFlint: ils n'ont pas de grep mais je peux utiliser' ... | grep ... '? –

3

Je pense que vous pouvez en accédant au périphérique avec adb shell - changez de répertoire pour vous positionner sur le système et faire un chat de build.prop. Ici vous trouverez par exemple, ro.build.description = google_sdk-eng 2.2, ro.build.version.release = 2.2 etc

5

J'ai également découvert un moyen d'obtenir la version exacte d'Android, par exemple. 4.2.2 basé sur l'article Web suivant http://xayon.net/looking-for-android-version-with-adb/ Vous devez utiliser un système d'exploitation de type unix - Linux et Mac OSX fonctionnent correctement, et les utilisateurs de Windows peuvent utiliser cygwin ou un équivalent.

Sur une ligne de commande:

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

Voici le résultat de mon Nexus 4:

version= 4.2.2

11
adb shell getprop ro.build.version.sdk 

Remarque @ Tim: cela fonctionne même sur les téléphones sans grep support sur tous les OS hôtes :-). (c'est-à-dire sur les anciens téléphones où toolbox ne prend pas en charge grep vous devez avoir busybox sur votre téléphone).

Questions connexes