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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. Android डीबग ब्रिज (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 या उसके बाद के वर्शन के लिए, virtualenv इंस्टॉल करें. कई डिवाइसों पर टेस्ट करने के लिए, virtualenv टूल ज़रूरी है.

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

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

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

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

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

डीयूटी तैयार करना

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

डीयूटी सेट अप करना

डीयूटी सेट अप करने के लिए:

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

  2. अगर डीयूटी में 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. अगर आपका डिवाइस एक से ज़्यादा सुरक्षित एलिमेंट की जानकारी देता है, तो सैंपल ऐप्लेट को डीयूटी के एम्बेड किए गए सुरक्षित एलिमेंट (eSE) या डीयूटी के इस्तेमाल किए गए सिम कार्ड में इंस्टॉल करें. ज़्यादा जानकारी के लिए, सिक्योर एलिमेंट के लिए सीटीएस टेस्ट देखें.

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

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

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

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

डीयूटी कॉन्फ़िगर करना

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

डीयूटी पर:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2. मॉक मॉडम की अनुमति दें पर टैप करें.

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

डेस्कटॉप पर:

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

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

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

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

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

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

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

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

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

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

        ./copy_media.sh 720x480 -s 1234567

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

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

  1. डिवाइस पर Android एपीआई लेवल जानने के लिए, यह तरीका अपनाएं:

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

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

शिम पैकेज

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

डिवाइस वर्शन पैकेज (अगर APEX काम करता है) पैकेज (अगर APEX काम नहीं करता है)
सेट करें x86 सेट करें x86
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

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

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