2011-11-09 4 views
12

Android 플랫폼을 다양한 기기에 배포하기위한 자동화 된 시스템을 구축하여 여러 플랫폼에 대한 개발을 좀 더 편안하게 만들 계획입니다. 거기에 안드로이드 셸 또는 adb 통해 연결된 장치의 SDK 버전을 얻을 수있는 방법이 있나요?명령 줄에서 기기의 Android SDK 버전 받기

여러 대의 테스트 장치가 연결된 컴퓨터가있을 것이므로 빌드 서버에서 각각의 빌드를 가져 오는 스크립트를 작성하고 각각의 장치에 다른 apk를 설치하고, 그것들을 시작하고 로그 정보를 수집하고, 요점 옆에 사양이있는 다른 프로그램을 통해 사용할 수있게하십시오.

요점은 각 장치가 올바른 apk를 설치하기 위해 실행중인 sdk 버전을 알아야하고 adb를 통해이를 얻을 수 있기를 바랬지만 짧은 방법에 액세스 할 수있는 방법을 찾을 수없는 것 같습니다. 작은 응용 프로그램을 만들고 모든 버전과 호환되며, 유일한 목적은 android.os.Build.VERSION.SDK 또는 비슷한 곳에서 내 스크립트가 읽을 수 있도록 출력하는 것입니다.

+1

Tim과 Tor-Morten에게 감사드립니다. 늦은 답변에 대해 유감스럽게 생각합니다. 몇 주 동안 정신없이 바빴습니다. ro.build.version.sdk는 내 요구에 잘 맞았습니다. Tim은 동의어를 얻습니다. 왜냐하면 그의 프레이밍은 스크립트에서 실행하여 값을 얻는 것이 더 적합하기 때문입니다. – Arild

답변

26

이 명령을 사용할 수 있습니다 ADB와 장치에 액세스하여

ro.build.version.sdk=10 

행복을 빌며, 팀

+2

일부 오래된 안드로이드 폰에는 "grep"이 없지만 대신 다음과 같이 할 수 있습니다 :'''adb shell cat system/build.prop | grep ro.build.version.sdk =''' –

+0

@AlexFlint : 그들은 grep이 없지만'... | grep ...'? –

3

나는 당신이 할 수있는 생각 :

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

그것은 다음과 같은 결과물을 출력 할 것 것 쉘 - 시스템에서 당신을 위치시키고 build.prop이라는 고양이를하기 위해 디렉토리를 변경하십시오. 예를 들어, ro.build.description = google_sdk-eng 2.2, ro.build.version.release = 2.2 등을 찾을 수 있습니다.

5

정확한 Android 버전을 얻는 방법을 발견했습니다. 4.2.2 다음 웹 문서를 기반으로합니다. http://xayon.net/looking-for-android-version-with-adb/ 유닉스 계열 운영 체제를 사용해야합니다. Linux 및 Mac OSX가 좋으며 Windows 사용자는 cygwin 또는 동등한 것을 사용할 수 있습니다. 명령 줄에서

:

version= 4.2.2

11
adb shell getprop ro.build.version.sdk 

참고 @ 팀 :이 grep없이 휴대폰에 심지어 작동 여기

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

내 넥서스 4에 대한 결과입니다 모든 호스트 OS에서의 지원 :-). (예 : toolboxgrep을 지원하지 않는 오래된 휴대 전화의 경우 휴대 전화에 busybox이 있어야합니다.)

관련 문제