सीटीएस की ऑटोमेटेड टेस्टिंग सेट अप करना

ऑटोमेटेड सीटीएस टेस्ट शुरू करने से पहले, अपने फ़िज़िकल एनवायरमेंट को तैयार करें, अपने वर्कस्टेशन को सेट अप करें, और जिस डिवाइस की जांच करनी है उसे कॉन्फ़िगर करें.

फ़िज़िकल एनवायरमेंट सेट अप करना

कुछ सीटीएस टेस्ट के लिए, DUT के आस-पास बाहरी डिवाइसों को सेट अप करना ज़रूरी होता है. अपने फ़िज़िकल एनवायरमेंट को सेट अप करने के लिए:

  1. (ज़रूरी नहीं) अगर आपके DUT में ब्लूटूथ LE की सुविधा काम करती है, तो ब्लूटूथ LE स्कैन की जांच के लिए, DUT के पांच मीटर के दायरे में कम से कम तीन ब्लूटूथ LE बीकन रखें. इनके अलावा:

    • बीकन को कॉन्फ़िगर करने या किसी खास चीज़ को बाहर निकालने की ज़रूरत नहीं होती.
    • बीकन किसी भी तरह के हो सकते हैं. जैसे, iBeacon, Eddystone या बीएलई बीकन का सिम्युलेशन करने वाले डिवाइस.
  2. फ़ोन को किसी सीन के सामने रखें. जैसे, दीवार या छत. इसे डीयूटी की फ़ोकस करने की कम से कम दूरी के बराबर दूरी पर रखें. इनके अलावा:

    • सीन में इतनी रोशनी होनी चाहिए कि जांच किए जा रहे सेंसर, CONTROL_AE_TARGET_FPS_RANGE में बताए गए कॉन्फ़िगर किए गए टारगेट फ़्रेम प्रति सेकंड (एफ़पीएस) तक पहुंच सकें और उस पर बने रहें.
    • यह सेटअप, getCameraIdList की ओर से रिपोर्ट किए गए सभी कैमरा सेंसर पर लागू होता है. ऐसा इसलिए, क्योंकि टेस्ट में सूची में शामिल डिवाइसों की परफ़ॉर्मेंस को अलग-अलग मेज़र किया जाता है.
    • अगर DUT में यूएसबी वेबकैम जैसे बाहरी कैमरे काम करते हैं, तो CTS चलाते समय बाहरी कैमरा प्लग इन करें. ऐसा न करने पर, सीटीएस टेस्ट फ़ेल हो जाते हैं.
  3. (ज़रूरी नहीं) अगर आपके DUT में ग्लोबल पोज़िशनिंग सिस्टम (जीपीएस) या अन्य ग्लोबल नेविगेशन सैटलाइट सिस्टम (जीएनएसएस) की सुविधा है, तो DUT को जीएनएसएस सिग्नल दें. यह सिग्नल, रिसेप्शन और जगह की जानकारी का हिसाब लगाने के लिए सही लेवल पर होना चाहिए. इनके अलावा:

    • जीपीएस, ICD-GPS-200C के मुताबिक होना चाहिए.
    • GNSS सिग्नल किसी भी तरह का हो सकता है. इसमें सैटलाइट सिम्युलेटर या बाहरी सिग्नल का रिपीटर शामिल है.
    • DUT को किसी खिड़की के पास रखें, ताकि उसे सीधे तौर पर सैटेलाइट से ज़रूरत के मुताबिक जीएनएसएस सिग्नल मिल सके.
  4. पक्का करें कि आपका वाई-फ़ाई नेटवर्क IPv4 और IPv6 के साथ काम करता हो. साथ ही, उसमें IPv4 और IPv6 के लिए डीएनएस के साथ इंटरनेट कनेक्शन हो. यह भी पक्का करें कि वह आईपी मल्टीकास्ट के साथ काम करता हो और DUT को आइसोलेटेड क्लाइंट के तौर पर इस्तेमाल कर सकता हो.

    अगर आपके पास IPv6 टेस्ट पास करने के लिए, नेटिव IPv6 नेटवर्क, IPv6 कैरियर नेटवर्क या वीपीएन का ऐक्सेस नहीं है, तो वाई-फ़ाई एपी और IPv6 टनल का इस्तेमाल करें.

  5. पक्का करें कि DUT में, वाई-फ़ाई इंटरफ़ेस पर UP, BROADCAST, और MULTICAST फ़्लैग सेट हों.

  6. पक्का करें कि वाई-फ़ाई इंटरफ़ेस को IPv4 और IPv6 पते असाइन किए गए हों. वाई-फ़ाई इंटरफ़ेस की प्रॉपर्टी देखने के लिए, adb shell ifconfig चलाएं.

  7. (ज़रूरी नहीं) अगर आपके DUT में Wi-Fi STA या STA concurrency की सुविधा काम करती है, तो कम से कम दो वाई-फ़ाई नेटवर्क सेट अप करें. ये वाई-फ़ाई नेटवर्क, अलग-अलग बैंड पर अलग-अलग एसएसआईडी के साथ या एक ही एसएसआईडी पर अलग-अलग बीएसएसआईडी के साथ काम करने चाहिए.

  8. (ज़रूरी नहीं) अगर आपके DUT में वाई-फ़ाई राउंड ट्रिप टाइम (RTT) की सुविधा काम करती है, तो वाई-फ़ाई RTT की सुविधा वाले डिवाइस को सेट अप करें:

    1. वाई-फ़ाई आरटीटी डिवाइस को डीयूटी से 40 फ़ीट की दूरी पर रखें.
    2. वाई-फ़ाई आरटीटी डिवाइस को चालू करें.

    यहां वाई-फ़ाई आरटीटी के साथ काम करने वाले दो डिवाइसों के बारे में बताया गया है: - Google Wifi - Compulab का fitlet2 ऐक्सेस पॉइंट (5 गीगाहर्ट्ज़ पर 40 मेगाहर्ट्ज़ बैंडविड्थ पर सेट किया गया).

डेस्कटॉप मशीन सेट अप करना

CTS के ऑटोमेटेड टेस्ट चलाने से पहले, पक्का करें कि आपका डेस्कटॉप कंप्यूटर, हार्डवेयर और ऑपरेटिंग सिस्टम की ज़रूरी शर्तों को पूरा करता हो. साथ ही, उसमें सही सॉफ़्टवेयर इंस्टॉल हो. इसके बारे में यहां बताया गया है.

Meet हार्डवेयर की ज़रूरी शर्तें

आपके CTS डेस्कटॉप मशीन में, हार्डवेयर से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए:

  • 64-बिट x86 सिस्टम

  • डिस्क में कम से कम 256 जीबी खाली जगह होनी चाहिए, ताकि सीटीएस टेस्ट केस की बढ़ी हुई संख्या और Tradefed में Java हीप स्पेस के लिए ज़्यादा जगह रिज़र्व की जा सके

  • कम से कम 32 जीबी रैम

ऑपरेटिंग सिस्टम से जुड़ी ज़रूरी शर्तें पूरी करना

  • आपकी डेवलपमेंट मशीन में, 64-बिट वाला Linux डिस्ट्रिब्यूशन होना चाहिए. साथ ही, उसमें GNU C Library (glibc) 2.17 या इसके बाद का वर्शन होना चाहिए.

  • ऑपरेटिंग सिस्टम की भाषा "अंग्रेज़ी" पर सेट होनी चाहिए, ताकि सीटीएस सही पाथ का पता लगा सके.

डेस्कटॉप सॉफ़्टवेयर इंस्टॉल करना

CTS के लिए सही डेस्कटॉप सॉफ़्टवेयर इंस्टॉल करने के लिए:

  1. FFmpeg पैकेज का 5.1.3 या इसके बाद का वर्शन इंस्टॉल करें.

  2. Android Debug Bridge (adb) और Android ऐप्लिकेशन पैकेजिंग टूल (AAPT2) के सबसे नए वर्शन इंस्टॉल करें. साथ ही, उन टूल की जगह को अपनी मशीन के सिस्टम पाथ में जोड़ें:

    1. sdkmanager कमांड-लाइन टूल इंस्टॉल करने के लिए, SDK Manager के दस्तावेज़ की शुरुआत में दिए गए निर्देशों का पालन करें. कमांड-लाइन टूल डाउनलोड करने का लिंक, Android Studio के डाउनलोड पेज पर सबसे नीचे मौजूद, सिर्फ़ कमांड लाइन टूल सेक्शन में दिया गया है.
    2. अपने सिस्टम पाथ को अपडेट करें, ताकि उसमें नई इंस्टॉल की गई sdkmanager की जगह की जानकारी शामिल हो.
    3. sdkmanager का इस्तेमाल करके, platform-tools और build-tools के सबसे नए पैकेज इंस्टॉल करें. इन पैकेज में adb और AAPT2 शामिल हैं. पैकेज इंस्टॉल करने के बारे में जानकारी के लिए, पैकेज इंस्टॉल करना लेख पढ़ें.
    4. नए इंस्टॉल किए गए adb और AAPT2 टूल की जगह की जानकारी शामिल करने के लिए, अपने पाथ को अपडेट करें.
    5. पुष्टि करें कि adb और AAPT2 आपके पाथ में हैं.
  3. Java डेवलपमेंट किट (JDK) का सही वर्शन इंस्टॉल करें:

  4. (ज़रूरी नहीं) Android 13 और 14 के लिए, virtualenv इंस्टॉल करें. कई डिवाइसों पर टेस्ट करने के लिए, virtualenv टूल की ज़रूरत होती है.

  5. यह पक्का करने के लिए कि Python इंस्टॉल है, python3 टाइप करें. Python का वर्शन और तारीख दिखनी चाहिए. इससे पता चलता है कि Python सही तरीके से इंस्टॉल हो गया है.

  6. अपने डिवाइसों के Android वर्शन और उन सभी ऐप्लिकेशन बाइनरी इंटरफ़ेस (एबीआई) से मेल खाने वाले सीटीएस पैकेज डाउनलोड करें और उन्हें खोलें. ये पैकेज, Compatibility Test Suite के डाउनलोड पेज पर उपलब्ध हैं.

  7. सीटीएस मीडिया फ़ाइलें का नया वर्शन डाउनलोड करें और उसे खोलें. मीडिया फ़ाइलों में, Big Buck Bunny की वीडियो क्लिप शामिल हैं. इन पर Blender Foundation का कॉपीराइट है. इन्हें Creative Commons Attribution 3.0 license के तहत लाइसेंस मिला है.

  8. (ज़रूरी नहीं) पहली बार CTS चलाने पर, यह Mainline से जुड़ी कुछ CTS फ़ाइलें डाइनैमिक तरीके से डाउनलोड करता है. आपके नेटवर्क की स्पीड के हिसाब से, इस डाउनलोड में 10 मिनट या उससे ज़्यादा समय लग सकता है.

    सीटीएस को चलाने में लगने वाले इस अतिरिक्त समय से बचने के लिए, सीटीएस चलाने से पहले Mainline से जुड़ी सीटीएस फ़ाइलें डाउनलोड की जा सकती हैं. Mainline से जुड़ी सीटीएस फ़ाइलें डाउनलोड करने के बारे में जानकारी के लिए, Mainline से जुड़ी सीटीएस फ़ाइलें डाउनलोड करें लेख पढ़ें.

DUT को तैयार करना

डेस्कटॉप मशीन सेट अप करने के बाद, आपको DUT को सेट अप और कॉन्फ़िगर करना होगा.

DUT को सेट अप करना

DUT को सेट अप करने के लिए:

  1. पक्का करें कि DUT, कोडनेम, टैग, और बिल्ड नंबर से मिले, Android 4.0 या उसके बाद के वर्शन वाले उपयोगकर्ता बिल्ड के साथ काम करने वाली सिस्टम इमेज पर चल रहा हो. साथ ही, वह user बिल्ड वैरिएंट का इस्तेमाल कर रहा हो. बिल्ड वैरिएंट के बारे में ज़्यादा जानने के लिए, टारगेट चुनना लेख पढ़ें.

  2. अगर 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 या इससे पहले का वर्शन) सेट अप करना लेख पढ़ें.

  3. अगर आपके डिवाइस पर APEX पैकेज मैनेजमेंट की सुविधा काम करती है, तो:

    1. अपने Android वर्शन और हार्डवेयर आर्किटेक्चर के हिसाब से, APEX शिम पैकेज डाउनलोड करें. शिम पैकेज टेबल में बाईं ओर मौजूद दो कॉलम में, डाउनलोड करने के लिए पैकेज के लिंक दिए गए हैं.
    2. डाउनलोड किए गए पैकेज को /system/apex में कॉपी करें.
    3. फ़ाइल का नाम बदलकर com.android.apex.cts.shim.apex करें.
  4. अगर आपके डिवाइस पर APEX पैकेज मैनेजमेंट की सुविधा काम नहीं करती है, तो:

    1. अपने Android वर्शन और हार्डवेयर आर्किटेक्चर के लिए, APEX शिम पैकेज डाउनलोड करें. शिम पैकेज टेबल में दाईं ओर मौजूद दो कॉलम में, डाउनलोड करने के लिए पैकेज के लिंक दिए गए हैं.
    2. CtsShim.apk को /system/app/ में कॉपी करें
    3. CtsShim.apk का नाम बदलकर CtsShimPrebuilt.apk कर दें
    4. CtsShimPriv.apk को /system/priv-app/ में कॉपी करें
    5. CtsShimPriv.apk का नाम बदलकर CtsShimPrivPrebuilt.apk कर दें
  5. अगर आपका डिवाइस एक से ज़्यादा सुरक्षित एलिमेंट की जानकारी देता है, तो:

    1. google-cardlet.cap डाउनलोड करें.
    2. डाउनलोड की गई फ़ाइल को /data/uicc/cardlets/ में कॉपी करें.
  6. अगर आपका डिवाइस एक से ज़्यादा सुरक्षित एलिमेंट की जानकारी देता है, तो DUT के एंबेड किए गए सुरक्षित एलिमेंट (ईएसई) या DUT में इस्तेमाल किए गए सिम कार्ड में सैंपल ऐप्लेट इंस्टॉल करें. ज़्यादा जानकारी के लिए, सुरक्षित एलिमेंट के लिए सीटीएस टेस्ट देखें.

  7. अगर आपके डिवाइस में स्क्रीन नहीं है, तो डिवाइस से स्क्रीन कनेक्ट करें.

  8. अगर डिवाइस में मेमोरी कार्ड का स्लॉट है, तो उसमें कोई खाली एसडी कार्ड लगाएं. ऐसे एसडी कार्ड का इस्तेमाल करें जो SDHC या SDXC क्षमता के साथ अल्ट्रा हाई स्पीड (यूएचएस) बस के साथ काम करता हो. इसके अलावा, स्पीड क्लास 10 या इससे बेहतर कार्ड का इस्तेमाल करें, ताकि यह पक्का किया जा सके कि वह सीटीएस पास कर सकता है.

  9. अगर डिवाइस में सिम कार्ड स्लॉट हैं, तो हर स्लॉट में चालू सिम कार्ड डालें. अगर डिवाइस पर एसएमएस की सुविधा काम करती है, तो हर सिम कार्ड के लिए, नंबर फ़ील्ड में जानकारी डालना ज़रूरी है. Android 12 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों के लिए, सभी सिम कार्ड में एब्रिविएटेड डायलिंग नंबर (एडीएन) सेव करने की सुविधा होनी चाहिए. टेलीकॉम के लिए खास तौर पर बनाई गई फ़ाइल (DFTelecom) वाले GSM और USIM कार्ड, इस ज़रूरी शर्त को पूरा करते हैं.

  10. पक्का करें कि आपके डिवाइस में ऐसा सिम हो जिसमें सीटीएस कैरियर के विशेषाधिकार हों. साथ ही, वह यूआईसीसी तैयार करना में बताई गई ज़रूरी शर्तों को पूरा करता हो.

DUT को कॉन्फ़िगर करना

सीटीएस के साथ इस्तेमाल करने के लिए, अपने डीयूटी को कॉन्फ़िगर करने के लिए यह तरीका अपनाएं.

DUT पर:

  1. डिवाइस को फ़ैक्ट्री डेटा रीसेट करें.

  2. डिवाइस की भाषा अंग्रेज़ी (अमेरिका) पर सेट करें.

  3. अगर डिवाइस पर डिफ़ॉल्ट फ़ॉन्ट को पसंद के मुताबिक बनाने की सुविधा उपलब्ध है, तो पक्का करें कि डिफ़ॉल्ट sans-serif फ़ॉन्ट फ़ैमिली को Roboto पर सेट किया गया हो.

  4. अगर डिवाइस में जीपीएस, वाई-फ़ाई या मोबाइल नेटवर्क की सुविधा है, तो जगह की जानकारी की सेटिंग चालू करें.

  5. ऐसे वाई-फ़ाई नेटवर्क से कनेक्ट करें जो IPv6 के साथ काम करता हो, DUT को अलग क्लाइंट के तौर पर इस्तेमाल कर सकता हो, और जिसमें इंटरनेट कनेक्शन हो. आइसोलेट किए गए क्लाइंट के बारे में जानने के लिए, फ़िज़िकल एनवायरमेंट सेट अप करना लेख पढ़ें.

  6. पक्का करें कि कोई लॉक पैटर्न या पासवर्ड सेट न किया गया हो.

  7. यूएसबी डीबग करने की सुविधा चालू करें:

    1. सेटिंग > फ़ोन के बारे में जानकारी पर जाएं और बिल्ड नंबर पर सात बार टैप करें. डेवलपर के लिए सेटिंग और टूल, सिस्टम सेटिंग कैटगरी में दिखता है.

    2. यूएसबी डीबग करना पर टैप करें.

    Android 10 या इससे पहले के वर्शन पर USB डीबगिंग चालू करने के लिए, CTS (AOSP 10 या इससे पहले का वर्शन) सेट अप करना लेख पढ़ें.

  8. समय को 12 घंटे वाले फ़ॉर्मैट में सेट करें.

  9. डेवलपर के लिए सेटिंग और टूल > स्क्रीन चालू रखें को चालू करें.

  10. यूएसबी पर ऐप्लिकेशन की पुष्टि करने की सुविधा बंद करने के लिए:

    1. डेवलपर के लिए सेटिंग और टूल पर जाएं.

    2. यूएसबी पर ऐप्लिकेशन की पुष्टि करें पर टैप करें.

  11. Android 13 या इसके बाद के वर्शन में, मॉक मॉडेम चालू करें:

    1. डेवलपर के लिए सेटिंग और टूल पर जाएं.

    2. मॉक मॉडम सेवा के इस्तेमाल की अनुमति दें पर टैप करें.

    यह सेटिंग, टेलीफ़ोनी से जुड़े कुछ टेस्ट के लिए ज़रूरी है.

डेस्कटॉप मशीन पर:

  1. ब्राउज़र लॉन्च करें और स्टार्टअप या सेटअप स्क्रीन को खारिज करें.

  2. यूएसबी केबल का इस्तेमाल करके, DUT को डेस्कटॉप मशीन से कनेक्ट करें.

  3. अगर सिस्टम आपको इस कंप्यूटर से डीबग करने की अनुमति देने वाली आरएसए कुंजी को स्वीकार करने के लिए कहता है, तो यूएसबी डीबग करने की अनुमति दें पर क्लिक करें.

  4. उपयोगकर्ता के लिए उपलब्ध (छिपी हुई नहीं) सेटिंग का इस्तेमाल करके, Roboto2 को बिना सेरिफ़ वाला फ़ॉन्ट के तौर पर सेट करें.

  5. सीटीएस मीडिया फ़ाइलों को DUT में कॉपी करें:

    1. उस पाथ पर जाएं (cd) जहां मीडिया फ़ाइलें डाउनलोड और अनज़िप की गई हैं.
    2. फ़ाइल की अनुमतियां बदलें:

      chmod u+x copy_media.sh
      
    3. फ़ाइलें कॉपी करें:

      • 720x480 रिज़ॉल्यूशन तक की क्लिप कॉपी करने के लिए, यह कमांड चलाएं:

        ./copy_media.sh 720x480
      • अगर आपको ज़्यादा से ज़्यादा रिज़ॉल्यूशन के बारे में नहीं पता है, तो सभी फ़ाइलों को कॉपी करें:

        ./copy_media.sh all
      • अगर एक से ज़्यादा DUT हैं, तो किसी डिवाइस के सीरियल विकल्प (-s) को आखिर में जोड़ें. उदाहरण के लिए, सीरियल नंबर 1234567 वाले डिवाइस पर 720x480 तक की कॉपी करने के लिए, यह कमांड चलाएं:

        ./copy_media.sh 720x480 -s 1234567

Mainline से जुड़ी सीटीएस फ़ाइलें डाउनलोड करना

Mainline से जुड़ी सीटीएस फ़ाइलें डाउनलोड करने के लिए:

  1. डिवाइस पर Android API लेवल पाने के लिए, यह कमांड चलाएं:

    adb shell getprop ro.build.version.sdk
    
  2. Mainline CTS फ़ाइलें डाउनलोड करने के लिए, download_mcts.sh स्क्रिप्ट में दिए गए निर्देशों का पालन करें.

    आपके नेटवर्क की स्पीड के हिसाब से, इसे डाउनलोड होने में कम से कम 10 मिनट लगते हैं.

शिम पैकेज

यहां दी गई टेबल में, हर डिवाइस वर्शन और आर्किटेक्चर के लिए उपलब्ध पैकेज की सूची दी गई है:

डिवाइस वर्शन पैकेज (अगर APEX काम करता है) पैकेज (अगर APEX काम नहीं करता है)
सेट करें x86 सेट करें x86
Android 16 16-arm-release android16-x86-release android16-arm-CtsShim.apk

android16-arm-CtsShimPriv.apk

android16-x86-CtsShim.apk

android16-x86-CtsShimPriv.apk

Android 15 15-arm-release android15-x86-release android15-arm-CtsShim.apk

android15-arm-CtsShimPriv.apk

android15-x86-CtsShim.apk

android15-x86-CtsShimPriv.apk

Android 14 android14-arm-release android14-x86-release android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

Android 13 android13-arm-release android13-x86-release android13-arm-CtsShim.apk

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

Android 12 android12-arm-release android12-x86-release android12-arm-CtsShim.apk

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

Android 11 android11-arm-release android11-x86-release android11-arm-CtsShim.apk

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

Android 10 android10-release android10-arm-CtsShim.apk

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

Android 9, O, और O-MR1 लागू नहीं लागू नहीं arm-CtsShim.apk

arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

आगे क्या करना है?

इस दस्तावेज़ को पढ़ने के बाद, ऑटोमेटेड सीटीएस टेस्ट चलाएं.