2011-11-09 13 views
12

से किसी डिवाइस के एंड्रॉइड एसडीके संस्करण प्राप्त करना मैं कई प्लेटफार्मों के विकास को थोड़ा अधिक आरामदायक बनाने के लिए विभिन्न उपकरणों पर एंड्रॉइड बिल्ड को तैनात करने के लिए एक स्वचालित प्रणाली बनाने की योजना बना रहा हूं। एंड्रॉइड शैल या एडीबी के माध्यम से एक कनेक्टेड डिवाइस के एसडीके संस्करण को पाने का कोई तरीका है?कमांड लाइन

एक कंप्यूटर होगा जिसमें कई टेस्ट डिवाइस जुड़े हुए हैं, और मैं एक स्क्रिप्ट लिखने की योजना बना रहा था जो बिल्ड-सर्वर से प्रत्येक के लिए सही निर्माण लाएगा, अपने संबंधित उपकरणों पर अलग-अलग एपीके इंस्टॉल करेगा, उन्हें लॉन्च करें और कुछ अन्य कार्यक्रमों के माध्यम से उपलब्ध कराए जाने के लिए लॉग जानकारी एकत्र करें, जिनके विनिर्देश बिंदु के बगल में हैं।

बिंदु यह है कि मुझे सही एपीके स्थापित करने के लिए प्रत्येक डिवाइस चल रहा है एसडीके संस्करण जानने की जरूरत है, और मुझे उम्मीद थी कि मैं इसे एडीबी के माध्यम से प्राप्त कर सकता हूं, लेकिन मुझे इसे कम करने का कोई तरीका नहीं दिख रहा है एक छोटे से ऐप का निर्माण, सभी संस्करणों के साथ संगत, जिसका एकमात्र उद्देश्य एंड्रॉइड.ओएस.बिल्ड.वर्सन एसडीके आउटपुट करना होगा या इसी तरह मेरी स्क्रिप्ट इसे पढ़ सकती है।

+1

टिम और टोर-मोर्टन दोनों के लिए धन्यवाद; देर से उत्तर के बारे में खेद है, यह कुछ हफ्तों के लिए व्यस्त है। ro.build.version.sdk मेरी ज़रूरतों को ठीक से ठीक करता है :) टिम स्वीकार करता है क्योंकि उसका वाक्यांश मूल्य प्राप्त करने के लिए स्क्रिप्ट से चलने के लिए बेहतर था। – Arild

उत्तर

26

आप इस आदेश का उपयोग कर सकते हैं: एडीबी के साथ डिवाइस पर पहुंचकर

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

मैंने एंड्रॉइड का सटीक संस्करण प्राप्त करने का एक तरीका भी खोजा है। 4.2.2 निम्नलिखित वेब आलेख के आधार पर http://xayon.net/looking-for-android-version-with-adb/ आपको यूनिक्स जैसी ऑपरेटिंग सिस्टम का उपयोग करने की आवश्यकता है - लिनक्स और मैक ओएसएक्स ठीक हैं, और विंडोज उपयोगकर्ता साइगविन या समकक्ष का उपयोग कर सकते हैं।

एक कमांड लाइन पर:

version= 4.2.2

11
adb shell getprop ro.build.version.sdk 

नोट @Tim: इस grep बिना फोन पर भी काम करता है

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

यहाँ मेरी Nexus 4 के लिए परिणाम है सभी होस्ट ओएस पर समर्थन :-)। (यानी पुराने फोन पर toolboxgrep का समर्थन नहीं करता है, आपको अपने फोन पर busybox रखना होगा)।