ऑटोमेटेड CTS टेस्ट चलाने से पहले, अपने फ़िज़िकल एनवायरमेंट को तैयार करें, अपने वर्कस्टेशन को सेट अप करें, और जिस डिवाइस की जांच करनी है उसे कॉन्फ़िगर करें.
फ़िज़िकल एनवायरमेंट सेट अप करना
कुछ सीटीएस टेस्ट के लिए, DUT के पास बाहरी डिवाइसों को सेट अप करना ज़रूरी होता है. अपने आस-पास के एनवायरमेंट को सेट अप करने के लिए:
अगर आपका DUT, ब्लूटूथ LE के साथ काम करता है, तो ब्लूटूथ LE स्कैनिंग की जांच के लिए, DUT के पांच मीटर के दायरे में कम से कम तीन ब्लूटूथ LE बीकन रखें. इनके अलावा:
- बीकन को कॉन्फ़िगर करने या किसी खास चीज़ को दिखाने की ज़रूरत नहीं होती.
- बीकन किसी भी तरह के हो सकते हैं. जैसे, iBeacon, Eddystone या बीएलई बीकन का सिम्युलेट करने वाले डिवाइस.
डीयूटी को किसी सीन के सामने रखें. जैसे, दीवार या छत. डीयूटी को इतनी दूरी पर रखें जितनी दूरी पर डीयूटी का फ़ोकस सबसे कम होता है. इनके अलावा:
- सीन में इतनी रोशनी होनी चाहिए कि टेस्ट किए जा रहे सेंसर, कॉन्फ़िगर किए गए टारगेट फ़्रेम प्रति सेकंड (एफ़पीएस) तक पहुंच सकें और उस पर बने रहें. यह जानकारी
CONTROL_AE_TARGET_FPS_RANGEमें दी गई है. - यह सेटअप,
getCameraIdListकी ओर से रिपोर्ट किए गए सभी कैमरा सेंसर पर लागू होता है. ऐसा इसलिए, क्योंकि टेस्ट में सूची में शामिल डिवाइसों को दोहराया जाता है और हर डिवाइस की परफ़ॉर्मेंस को अलग-अलग मापा जाता है. - अगर DUT में यूएसबी वेबकैम जैसे बाहरी कैमरे इस्तेमाल किए जा सकते हैं, तो CTS चलाते समय बाहरी कैमरा प्लग इन करें. ऐसा न करने पर, CTS टेस्ट पास नहीं हो पाएंगे.
- सीन में इतनी रोशनी होनी चाहिए कि टेस्ट किए जा रहे सेंसर, कॉन्फ़िगर किए गए टारगेट फ़्रेम प्रति सेकंड (एफ़पीएस) तक पहुंच सकें और उस पर बने रहें. यह जानकारी
अगर आपके DUT में ग्लोबल पोज़िशनिंग सिस्टम (जीपीएस) या अन्य ग्लोबल नेविगेशन सैटलाइट सिस्टम (जीएनएसएस) काम करता है, तो DUT को जीएनएसएस सिग्नल दें. यह सिग्नल, रिसेप्शन और जगह की जानकारी का हिसाब लगाने के लिए सही लेवल पर होना चाहिए. इनके अलावा:
- जीपीएस, ICD-GPS-200C के मुताबिक होना चाहिए.
- GNSS सिग्नल किसी भी तरह का हो सकता है. इसमें सैटलाइट सिम्युलेटर या बाहरी सिग्नल का रिपीटर शामिल है.
- DUT को किसी खिड़की के पास रखें, ताकि उसे सीधे तौर पर किसी सैटलाइट से ज़रूरत के मुताबिक जीएनएसएस सिग्नल मिल सके.
पुष्टि करें कि आपका वाई-फ़ाई नेटवर्क IPv4 और IPv6 के साथ काम करता हो. साथ ही, उसमें IPv4 और IPv6 के लिए डीएनएस के साथ इंटरनेट कनेक्शन हो. यह भी पक्का करें कि वह आईपी मल्टीकास्ट के साथ काम करता हो और डीयूटी को आइसोलेटेड क्लाइंट के तौर पर इस्तेमाल कर सकता हो.
अगर आपके पास IPv6 टेस्ट पास करने के लिए, नेटिव IPv6 नेटवर्क, IPv6 कैरियर नेटवर्क या वीपीएन का ऐक्सेस नहीं है, तो वाई-फ़ाई एपी और IPv6 टनल का इस्तेमाल करें.
पुष्टि करें कि DUT में, वाई-फ़ाई इंटरफ़ेस पर
UP,BROADCAST, औरMULTICASTफ़्लैग सेट किए गए हों.पुष्टि करें कि वाई-फ़ाई इंटरफ़ेस को IPv4 और IPv6 पते असाइन किए गए हों. वाई-फ़ाई इंटरफ़ेस की प्रॉपर्टी देखने के लिए,
adb shell ifconfigचलाएं.अगर आपके DUT पर Wi-Fi STA या STA concurrency काम करता है, तो कम से कम दो वाई-फ़ाई नेटवर्क सेट अप करें. ये वाई-फ़ाई नेटवर्क, अलग-अलग बैंड पर अलग-अलग एसएसआईडी के साथ या एक ही एसएसआईडी पर अलग-अलग बीएसएसआईडी के साथ काम करने चाहिए.
अगर आपके DUT में वाई-फ़ाई राउंड ट्रिप टाइम (RTT) की सुविधा काम करती है, तो वाई-फ़ाई RTT की सुविधा वाले डिवाइस को सेट अप करें:
- वाई-फ़ाई आरटीटी डिवाइस को डीयूटी से 40 फ़ीट की दूरी पर रखें.
- वाई-फ़ाई आरटीटी डिवाइस को चालू करें.
यहां वाई-फ़ाई आरटीटी की सुविधा के साथ काम करने वाले दो डिवाइसों के बारे में बताया गया है: - Google Wifi - Compulab का fitlet2 ऐक्सेस पॉइंट (5 गीगाहर्ट्ज़ पर 40 मेगाहर्ट्ज़ बैंडविड्थ पर सेट किया गया).
डेस्कटॉप मशीन सेट अप करना
CTS के ऑटोमेटेड टेस्ट चलाने से पहले, पुष्टि करें कि आपका डेस्कटॉप कंप्यूटर, हार्डवेयर और ऑपरेटिंग सिस्टम की ज़रूरी शर्तों को पूरा करता हो. साथ ही, उसमें सही सॉफ़्टवेयर इंस्टॉल हो. इसके बारे में यहां बताया गया है.
Meet हार्डवेयर की ज़रूरी शर्तें
आपके CTS डेस्कटॉप मशीन में, हार्डवेयर से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए या इससे बेहतर हार्डवेयर होना चाहिए:
64-बिट x86 सिस्टम
डिस्क में कम से कम 256 जीबी खाली जगह होनी चाहिए, ताकि सीटीएस टेस्ट केस की बढ़ी हुई संख्या और Tradefed में Java हीप स्पेस रिज़र्वेशन में हुई बढ़ोतरी को शामिल किया जा सके
कम से कम 32 जीबी रैम
ऑपरेटिंग सिस्टम से जुड़ी ज़रूरी शर्तें पूरी करना
आपकी डेवलपमेंट मशीन पर, 64-बिट वाला Linux डिस्ट्रिब्यूशन होना चाहिए. साथ ही, उसमें GNU C Library (glibc) 2.17 या इसके बाद का वर्शन होना चाहिए.
ऑपरेटिंग सिस्टम की भाषा "अंग्रेज़ी" पर सेट होनी चाहिए, ताकि सीटीएस सही पाथ का पता लगा सके.
डेस्कटॉप सॉफ़्टवेयर इंस्टॉल करना
CTS के लिए सही डेस्कटॉप सॉफ़्टवेयर इंस्टॉल करने के लिए:
Android Debug Bridge (adb) और Android ऐसेट पैकेजिंग टूल (AAPT2) के सबसे नए वर्शन इंस्टॉल करें. साथ ही, उन टूल की जगह को अपने मशीन के सिस्टम पाथ में जोड़ें:
sdkmanagerकमांड-लाइन टूल इंस्टॉल करने के लिए, SDK Manager के दस्तावेज़ की शुरुआत में दिए गए निर्देशों का पालन करें. कमांड-लाइन टूल डाउनलोड करने का लिंक, Android Studio के डाउनलोड पेज पर सबसे नीचे मौजूद सिर्फ़ कमांड लाइन टूल सेक्शन में दिया गया है.- अपने सिस्टम पाथ को अपडेट करें, ताकि उसमें नई इंस्टॉल की गई
sdkmanagerकी जगह की जानकारी शामिल हो. sdkmanagerका इस्तेमाल करके,platform-toolsऔरbuild-toolsके नए पैकेज इंस्टॉल करें. इन पैकेज में adb और AAPT2 शामिल हैं. पैकेज इंस्टॉल करने के बारे में जानकारी के लिए, पैकेज इंस्टॉल करना लेख पढ़ें.- अपने पाथ को अपडेट करें, ताकि उसमें हाल ही में इंस्टॉल किए गए adb और AAPT2 टूल की जगह की जानकारी शामिल हो.
- पुष्टि करें कि adb और AAPT2 आपके पाथ में हैं.
Java Development Kit (JDK) का सही वर्शन इंस्टॉल करें:
- Android 11 या इसके बाद के वर्शन के लिए, JDK 11 इंस्टॉल करें.
- Android 10 या इससे पहले के वर्शन के लिए, CTS (AOSP 10 या इससे पहले का वर्शन) सेट अप करना लेख पढ़ें.
Android 13 और 14 के लिए, virtualenv इंस्टॉल करें. एक से ज़्यादा डिवाइसों पर टेस्ट करने के लिए, virtualenv टूल की ज़रूरत होती है.
पुष्टि करें कि Python इंस्टॉल है. इसके लिए,
python3टाइप करें. Python का वर्शन और तारीख दिखनी चाहिए. इससे पता चलता है कि Python सही तरीके से इंस्टॉल हो गया है.अपने डिवाइसों के Android वर्शन और उन सभी ऐप्लिकेशन बाइनरी इंटरफ़ेस (एबीआई) से मेल खाने वाले सीटीएस पैकेज डाउनलोड करें और खोलें जिन्हें आपके डिवाइसों पर इस्तेमाल किया जा सकता है. इसके लिए, Compatibility Test Suite के डाउनलोड पर जाएं.
CTS मीडिया फ़ाइलें का नया वर्शन डाउनलोड करें और खोलें. मीडिया फ़ाइलों में, Big Buck Bunny की वीडियो क्लिप शामिल हैं. इन पर Blender Foundation का कॉपीराइट है. इन्हें Creative Commons Attribution 3.0 license के तहत लाइसेंस मिला है.
(ज़रूरी नहीं) पहली बार CTS चलाने पर, यह Mainline से जुड़ी कुछ CTS फ़ाइलें डाइनैमिक तरीके से डाउनलोड करता है. आपके नेटवर्क की स्पीड के हिसाब से, इस डाउनलोड में 10 मिनट या उससे ज़्यादा समय लग सकता है.
CTS को चलाने में लगने वाले इस अतिरिक्त समय से बचने के लिए, CTS चलाने से पहले Mainline से जुड़ी CTS फ़ाइलें डाउनलोड की जा सकती हैं. Mainline से जुड़ी CTS फ़ाइलों को डाउनलोड करने के बारे में जानकारी के लिए, Mainline से जुड़ी CTS फ़ाइलें डाउनलोड करना लेख पढ़ें.
DUT को तैयार करना
डेस्कटॉप मशीन सेट अप करने के बाद, आपको DUT को सेट अप और कॉन्फ़िगर करना होगा.
DUT को सेट अप करना
DUT को सेट अप करने के लिए:
पुष्टि करें कि DUT, कोडनेम, टैग, और बिल्ड नंबर से मिले, Android 4.0 या उसके बाद के वर्शन वाले उपयोगकर्ता बिल्ड के साथ काम करने वाली सिस्टम इमेज पर चल रहा हो. साथ ही, वह
userबिल्ड वैरिएंट का इस्तेमाल कर रहा हो. बिल्ड वैरिएंट के बारे में ज़्यादा जानने के लिए, टारगेट चुनना लेख पढ़ें.अगर DUT, Android 13 या उसके बाद के वर्शन पर काम कर रहा है, तो पुष्टि करें कि बिल्ड में
ro.product.first_api_levelको उस एपीआई लेवल पर सेट किया गया हो जिस पर डिवाइस को व्यावसायिक तौर पर लॉन्च किया गया था. इस वैल्यू को सेट करने के लिए,device.mkफ़ाइल में यह बदलाव करें:PRODUCT_SHIPPING_API_LEVEL := 21सीटीएस की कुछ ज़रूरी शर्तें, उस बिल्ड पर निर्भर करती हैं जिसके साथ डिवाइस को शिप किया गया था. उदाहरण के लिए, ऐसा हो सकता है कि जिन डिवाइसों में पहले से ही पुराने वर्शन इंस्टॉल हों उनके लिए, सिस्टम की वे ज़रूरी शर्तें लागू न हों जो नए वर्शन वाले डिवाइसों के लिए लागू होती हैं. एपीआई लेवल की मान्य वैल्यू के लिए, कोडनेम, टैग, और बिल्ड नंबर देखें.
ro.product.first_api_levelके बारे में ज़्यादा जानने के लिए, वेंडर एपीआई लेवल देखें.Android 10 या इससे पहले के वर्शन के लिए, CTS (AOSP 10 या इससे पहले का वर्शन) सेट अप करना लेख पढ़ें.
अगर आपके डिवाइस पर APEX पैकेज मैनेजमेंट की सुविधा काम करती है, तो:
- अपने Android वर्शन और हार्डवेयर आर्किटेक्चर के हिसाब से, APEX शिम पैकेज डाउनलोड करें. शिम पैकेज टेबल में बाईं ओर मौजूद दो कॉलम में, डाउनलोड करने के लिए पैकेज के लिंक दिए गए हैं.
- डाउनलोड किए गए पैकेज को
/system/apexमें कॉपी करें. - फ़ाइल का नाम बदलकर
com.android.apex.cts.shim.apexकरें.
अगर आपके डिवाइस पर APEX पैकेज मैनेजमेंट की सुविधा काम नहीं करती है, तो:
- अपने Android वर्शन और हार्डवेयर आर्किटेक्चर के लिए, APEX शिम पैकेज डाउनलोड करें. शिम पैकेज टेबल में दाईं ओर मौजूद दो कॉलम में, डाउनलोड करने के लिए पैकेज के लिंक दिए गए हैं.
CtsShim.apkको/system/app/में कॉपी करेंCtsShim.apkका नाम बदलकरCtsShimPrebuilt.apkकर दोCtsShimPriv.apkको/system/priv-app/में कॉपी करेंCtsShimPriv.apkका नाम बदलकरCtsShimPrivPrebuilt.apkकर दो
अगर आपका डिवाइस एक से ज़्यादा सुरक्षित एलिमेंट की जानकारी देता है, तो:
google-cardlet.capडाउनलोड करें.- डाउनलोड की गई फ़ाइल को
/data/uicc/cardlets/में कॉपी करें.
अगर आपका डिवाइस एक से ज़्यादा सुरक्षित एलिमेंट की जानकारी देता है, तो सैंपल ऐप्लेट को DUT के एंबेड किए गए सुरक्षित एलिमेंट (eSE) में या DUT में इस्तेमाल किए गए सिम कार्ड में इंस्टॉल करें. ज़्यादा जानकारी के लिए, सुरक्षित एलिमेंट के लिए सीटीएस टेस्ट देखें.
अगर आपके डिवाइस में स्क्रीन नहीं है, तो डिवाइस से कोई स्क्रीन कनेक्ट करें.
अगर डिवाइस में मेमोरी कार्ड का स्लॉट है, तो उसमें कोई खाली एसडी कार्ड लगाएं. ऐसे एसडी कार्ड का इस्तेमाल करें जो एसडीएचसी या एसडीएक्ससी क्षमता के साथ अल्ट्रा हाई स्पीड (यूएचएस) बस के साथ काम करता हो. इसके अलावा, स्पीड क्लास 10 या इससे बेहतर कार्ड का इस्तेमाल करके यह पुष्टि करें कि वह सीटीएस पास कर सकता है.
अगर डिवाइस में सिम कार्ड स्लॉट हैं, तो हर स्लॉट में चालू सिम कार्ड डालें. अगर डिवाइस पर एसएमएस की सुविधा काम करती है, तो हर सिम कार्ड के लिए, नंबर फ़ील्ड में जानकारी डालना ज़रूरी है. Android 12 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों के लिए, सभी सिम कार्ड में एब्रिविएटेड डायलिंग नंबर (एडीएन) सेव करने की सुविधा होनी चाहिए. टेलीकॉम के लिए खास तौर पर बनाई गई फ़ाइल (DFTelecom) वाले GSM और USIM कार्ड, इस ज़रूरी शर्त को पूरा करते हैं.
पुष्टि करें कि आपके डिवाइस में ऐसा सिम कार्ड हो जिस पर सीटीएस कैरियर के विशेषाधिकार हों. साथ ही, वह यूआईसीसी तैयार करना में बताई गई ज़रूरी शर्तों को पूरा करता हो.
DUT को कॉन्फ़िगर करना
सीटीएस के साथ इस्तेमाल करने के लिए, अपने डीयूटी को कॉन्फ़िगर करने के लिए यह तरीका अपनाएं.
DUT पर:
डिवाइस को फ़ैक्ट्री डेटा रीसेट करें.
डिवाइस की भाषा अंग्रेज़ी (अमेरिका) पर सेट हो.
अगर डिवाइस में डिफ़ॉल्ट फ़ॉन्ट को पसंद के मुताबिक बनाने की सुविधा है, तो पुष्टि करें कि डिफ़ॉल्ट sans-serif फ़ॉन्ट फ़ैमिली को Roboto पर सेट किया गया हो.
अगर डिवाइस में जीपीएस, वाई-फ़ाई या मोबाइल नेटवर्क की सुविधा है, तो जगह की जानकारी की सेटिंग चालू करें.
ऐसे वाई-फ़ाई नेटवर्क से कनेक्ट करें जो IPv6 के साथ काम करता हो, DUT को अलग क्लाइंट के तौर पर इस्तेमाल कर सकता हो, और जिसमें इंटरनेट कनेक्शन हो. आइसोलेट किए गए क्लाइंट के बारे में जानने के लिए, फ़िज़िकल एनवायरमेंट सेट अप करना लेख पढ़ें.
पुष्टि करें कि कोई लॉक पैटर्न या पासवर्ड सेट न किया गया हो.
यूएसबी डीबग करने की सुविधा चालू करें:
सेटिंग > फ़ोन के बारे में जानकारी पर जाएं. इसके बाद, बिल्ड नंबर पर सात बार टैप करें. डेवलपर के लिए सेटिंग और टूल, सिस्टम सेटिंग कैटगरी में दिखता है.
यूएसबी डीबग करने की सुविधा पर टैप करें.
Android 10 या इससे पहले के वर्शन पर यूएसबी डीबगिंग चालू करने के लिए, CTS (AOSP 10 या इससे पहले का वर्शन) सेट अप करना लेख पढ़ें.
समय को 12 घंटे वाले फ़ॉर्मैट में सेट करें.
डेवलपर के लिए सेटिंग और टूल > स्क्रीन चालू रखें को चालू करें.
यूएसबी पर ऐप्लिकेशन की पुष्टि करने की सुविधा बंद करने के लिए:
डेवलपर के लिए सेटिंग और टूल पर जाएं.
यूएसबी पर ऐप्लिकेशन की पुष्टि करें पर टैप करें.
Android 13 या इसके बाद के वर्शन में, मॉक मॉडेम चालू करें:
डेवलपर के लिए सेटिंग और टूल पर जाएं.
मॉक मॉडम सेवा के इस्तेमाल की अनुमति दें पर टैप करें.
यह सेटिंग, कुछ खास टेलीफ़ोनी टेस्ट के लिए ज़रूरी है.
डेस्कटॉप मशीन पर:
ब्राउज़र लॉन्च करें और स्टार्टअप या सेटअप स्क्रीन को खारिज करें.
यूएसबी केबल का इस्तेमाल करके, DUT को डेस्कटॉप मशीन से कनेक्ट करें.
अगर सिस्टम आपको आरएसए कुंजी स्वीकार करने के लिए कहता है, ताकि इस कंप्यूटर से डीबग करने की अनुमति दी जा सके, तो यूएसबी डीबग करने की अनुमति दें पर क्लिक करें.
उपयोगकर्ता के लिए उपलब्ध (छिपी हुई नहीं) सेटिंग का इस्तेमाल करके, Roboto2 को बिना सेरिफ़ वाला फ़ॉन्ट के तौर पर सेट करें.
सीटीएस मीडिया फ़ाइलों को DUT में कॉपी करें:
- उस पाथ पर जाएं (
cd) जहां मीडिया फ़ाइलें डाउनलोड और अनज़िप की गई हैं. फ़ाइल की अनुमतियां बदलें:
chmod u+x copy_media.shफ़ाइलें कॉपी करें:
720x480 के रिज़ॉल्यूशन तक की क्लिप कॉपी करने के लिए, यह कमांड चलाएं:
./copy_media.sh 720x480अगर आपको ज़्यादा से ज़्यादा रिज़ॉल्यूशन के बारे में पक्का नहीं है, तो सभी फ़ाइलों को कॉपी करें:
./copy_media.sh allअगर एक से ज़्यादा DUT हैं, तो किसी डिवाइस के सीरियल नंबर का विकल्प (
-s) आखिर में जोड़ें. उदाहरण के लिए, सीरियल नंबर 1234567 वाले डिवाइस पर 720x480 तक की कॉपी करने के लिए, यह कमांड चलाएं:./copy_media.sh 720x480 -s 1234567
- उस पाथ पर जाएं (
Mainline से जुड़ी सीटीएस फ़ाइलें डाउनलोड करना
Mainline से जुड़ी सीटीएस फ़ाइलें डाउनलोड करने के लिए:
डिवाइस पर Android API लेवल पाने के लिए, यह कमांड चलाएं:
adb shell getprop ro.build.version.sdkMainline CTS फ़ाइलें डाउनलोड करने के लिए,
download_mcts.shस्क्रिप्ट में दिए गए निर्देशों का पालन करें.आपके नेटवर्क की स्पीड के हिसाब से, इसे डाउनलोड होने में कम से कम 10 मिनट लगते हैं.
शिम पैकेज
यहां दी गई टेबल में, हर डिवाइस वर्शन और आर्किटेक्चर के लिए उपलब्ध पैकेज की सूची दी गई है:
| डिवाइस वर्शन | पैकेज (अगर APEX काम करता है) | पैकेज (अगर APEX काम नहीं करता है) | ||
|---|---|---|---|---|
| सेट करें | x86 | सेट करें | x86 | |
| Android 16 QPR2 |
16-arm-release
|
android16-x86-release
|
android16-arm-CtsShim.apk
|
android16-x86-CtsShim.apk
|
| Android 16 |
16-arm-release
|
android16-x86-release
|
android16-arm-CtsShim.apk
|
android16-x86-CtsShim.apk
|
| Android 15 |
15-arm-release
|
android15-x86-release
|
android15-arm-CtsShim.apk
|
android15-x86-CtsShim.apk
|
| Android 14 |
android14-arm-release
|
android14-x86-release
|
android14-arm-CtsShim.apk
|
android14-x86-CtsShim.apk
|
| Android 13 |
android13-arm-release
|
android13-x86-release
|
android13-arm-CtsShim.apk
|
android13-x86-CtsShim.apk
|
| Android 12 |
android12-arm-release
|
android12-x86-release
|
android12-arm-CtsShim.apk
|
android12-x86-CtsShim.apk
|
| Android 11 |
android11-arm-release
|
android11-x86-release
|
android11-arm-CtsShim.apk
|
android11-x86-CtsShim.apk
|
| Android 10 |
android10-release
|
android10-arm-CtsShim.apk
|
android10-x86-CtsShim.apk
|
|
| Android 9, O, और O-MR1 | लागू नहीं | लागू नहीं |
arm-CtsShim.apk
|
x86-CtsShim.apk
|
आगे क्या करना है?
इस दस्तावेज़ को पढ़ने के बाद, ऑटोमेटेड CTS टेस्ट चलाएं.