قم بإعداد CTS

لتشغيل CTS، قم أولاً بتجهيز بيئتك المادية وجهاز سطح المكتب وجهاز Android الذي تستخدمه للاختبار.

بيئة فيزيائية

منارات بلوتوث LE

إذا كان الجهاز قيد الاختبار (DUT) يدعم Bluetooth LE، فضع على الأقل ثلاث إشارات Bluetooth LE على بعد 5 أمتار من DUT لاختبار فحص Bluetooth LE. لا تحتاج هذه الإشارات إلى التهيئة أو إصدار أي شيء محدد، ويمكن أن تكون من أي نوع، بما في ذلك iBeacon أو Eddystone أو حتى الأجهزة التي تحاكي إشارات BLE.

النطاق العريض الفائق

إذا كان DUT يدعم النطاق فائق العرض (UWB)، فيجب وضع جهاز آخر يدعم UWB قريبًا بدرجة كافية وموجهًا بحيث لا يحتوي على هوائيات ومنطقة ميتة للراديو. بالنسبة لاختبارات دقة المسافة، هناك احتياجات محددة لتحديد المواقع والتوجيه. للحصول على تفاصيل الإعداد، راجع متطلبات UWB . يجب تشغيل اختبار UWB يدويًا، مع التحديد في سطر الأوامر أي جهازين يفصل بينهما مسافة متر واحد. للحصول على تفاصيل حول المشاركة المطلوبة لهذا الاختبار، راجع المشاركة المحلية .

الكاميرات

عند تشغيل كاميرا CTS، استخدم ظروف الإضاءة العادية مع مخطط نمط الاختبار (مثل نمط رقعة الشطرنج). ضع مخطط نمط الاختبار وفقًا لمسافة التركيز الدنيا لـ DUT للتأكد من أنها ليست قريبة جدًا من العدسة.

قم بتوجيه مستشعرات الكاميرا إلى مشهد به إضاءة كافية للسماح للمستشعرات قيد الاختبار بالوصول إلى الحد الأقصى من الإطارات المستهدفة التي تم تكوينها في الثانية (FPS) والبقاء عندها كما هو محدد في CONTROL_AE_TARGET_FPS_RANGE . ينطبق هذا على جميع مستشعرات الكاميرا التي أبلغت عنها getCameraIdList حيث يتكرر الاختبار على الأجهزة المدرجة ويقيس الأداء بشكل فردي.

إذا كان DUT يدعم الكاميرات الخارجية، مثل كاميرات الويب USB، فقم بتوصيل كاميرا خارجية عند تشغيل CTS. وبخلاف ذلك، تفشل اختبارات CTS.

نظام تحديد المواقع العالمي/نظام تحديد المواقع العالمي (GPS).

إذا كان DUT يدعم ميزة نظام تحديد المواقع العالمي/النظام العالمي للملاحة عبر الأقمار الصناعية (GPS/GNSS)، فقم بتوفير إشارة GPS/GNSS إلى DUT عند مستوى إشارة مناسب للاستقبال وحساب موقع GPS. يجب أن يكون جزء GPS متوافقًا مع ICD-GPS-200C. بخلاف ذلك، يمكن أن تكون إشارة GPS/GNSS من أي نوع، بما في ذلك جهاز محاكاة الأقمار الصناعية أو مكرر GPS/GNSS للإشارات الخارجية، أو يمكنك وضع DUT بالقرب بما يكفي من النافذة بحيث يمكنها استقبال إشارة GPS/GNSS كافية مباشرةً.

واي فاي وIPv6

تتطلب اختبارات CTS شبكة Wi-Fi تدعم IPv4 وIPv6، ولديها اتصال بالإنترنت مع DNS العامل لـ IPv4 وIPv6، وتدعم البث IP المتعدد، ويمكنها التعامل مع DUT كعميل معزول. العميل المعزول هو تكوين حيث لا يكون لدى DUT رؤية لرسائل البث/الشبكات المتعددة على تلك الشبكة الفرعية. يحدث هذا من خلال تكوين نقطة وصول Wi-Fi (AP) أو عن طريق تشغيل DUT على شبكة فرعية معزولة دون توصيل أجهزة أخرى.

إذا لم يكن لديك إمكانية الوصول إلى شبكة IPv6 الأصلية، أو شبكة ناقل IPv6، أو VPN لاجتياز بعض الاختبارات اعتمادًا على IPv6، فيمكنك استخدام نقطة وصول Wi-Fi ونفق IPv6.

لتمرير CTS، يحتاج DUT إلى وضع علامات UP و BROADCAST و MULTICAST على واجهة Wi-Fi. تحتاج واجهة Wi-Fi إلى تعيين عناوين IPv4 وIPv6. تحقق من خصائص واجهة Wi-Fi باستخدام adb shell ifconfig .

بالنسبة للأجهزة التي تدعم Wi-Fi STA/STA Concurrency ، يلزم وجود شبكات Wi-Fi متعددة (2 على الأقل). لتمرير CTS، يجب أن تعمل شبكات Wi-Fi على نطاقات مختلفة بمعرفات SSID مختلفة أو على نفس SSID بمعرفات BSSID مختلفة.

واي فاي آر تي تي

يتضمن Android واجهة Wi-Fi RTT API لتوفير إمكانية الاتصال بشبكة Wi-Fi ذهابًا وإيابًا (RTT) . يتيح ذلك للأجهزة قياس المسافة التي تفصلها عن نقاط الوصول بدقة تتراوح من 1 إلى 2 متر، مما يزيد بشكل كبير من دقة تحديد الموقع الداخلي. هناك جهازان موصى بهما يدعمان Wi-Fi RTT هما Google Wifi ونقطة وصول Compulab's fitlet2 (تم ضبطهما على عرض النطاق الترددي 40 ميجاهرتز عند 5 جيجاهرتز).

يجب أن تكون نقاط الوصول قيد التشغيل، ولكنها لا تتطلب اتصالاً بالشبكة. ليس من الضروري أن تكون نقاط الوصول بجوار جهاز الاختبار ولكن يوصى بأن تكون على بعد 40 قدمًا من DUT. عادةً ما تكون نقطة الوصول الواحدة كافية.

إعداد جهاز سطح المكتب

تحذير : يدعم CTS أجهزة Linux 64 بت. CTS غير مدعوم على نظام التشغيل Windows أو MacOS.

FFMPEG

قم بتثبيت حزمة الإصدار 5.1.3 (أو الأحدث) من ffmpeg على الجهاز المضيف.

ترقية الجهاز المضيف

يوصى بشدة بترقية ذاكرة الوصول العشوائي للجهاز المضيف CTS إلى 128 جيجابايت والقرص الصلب إلى 256 جيجابايت. إنه مطلوب لاستيعاب العدد المتزايد من حالات اختبار CTS وزيادة في حجز مساحة كومة Java المؤقتة في التجارة.

بنك التنمية الآسيوي وAAPT2

قبل تشغيل CTS، تأكد من أنك قمت بتثبيت الإصدارات الحديثة من Android Debug Bridge (adb) وأداة Android Asset Packaging Tool (AAPT2) وقمت بإضافة موقع هذه الأدوات إلى مسار النظام الخاص بجهازك.

لتثبيت ADB وAAPT2، قم بتنزيل أحدث أدوات منصة Android SDK وأدوات إنشاء Android SDK من مدير SDK الخاص بـ Android Studio أو من أداة سطر الأوامر sdkmanager .

تأكد من وجود adb و aapt2 في مسار النظام لديك. يفترض الأمر التالي أنك قمت بتنزيل أرشيفات الحزمة إلى دليل فرعي يسمى android-sdk في الدليل الرئيسي لديك:

export PATH=$PATH:$HOME/android-sdk/platform-tools:$HOME/android-sdk/build-tools/<tools version number>

مجموعة تطوير جافا لأوبونتو

قم بتثبيت الإصدار المناسب من Java Development Kit (JDK) .

  • لنظام التشغيل Android 11، قم بتثبيت OpenJDK11.
  • لنظامي التشغيل Android 9 وAndroid 10، قم بتثبيت OpenJDK9.
  • بالنسبة للإصدارات Android 7.0 و7.1 و8.0 و8.1، قم بتثبيت OpenJDK8.

لمزيد من التفاصيل، راجع متطلبات JDK .

الإعداد لدعم بايثون

قم بتثبيت virtualenv لنظامك الأساسي باتباع تعليمات التثبيت .

يمكنك التحقق من نجاح التثبيت عن طريق استدعاء virtualenv -h .

ملفات CTS

قم بتنزيل وفتح حزم CTS من تنزيلات مجموعة اختبار التوافق التي تتوافق مع إصدار Android الخاص بأجهزتك وجميع الواجهات الثنائية للتطبيقات (ABIs) التي تدعمها أجهزتك.

قم بتنزيل وفتح أحدث إصدار من ملفات الوسائط CTS .

كشف الجهاز

اتبع الخطوة لإعداد نظامك لاكتشاف جهازك .

حد الذاكرة

قد ترغب في زيادة الحد الأقصى للذاكرة المتوفرة أثناء التشغيل التجريبي في البرنامج النصي cts-tradefed . راجع مثال CL لمزيد من المعلومات.

إعداد جهاز أندرويد

يبني المستخدم

يتم تعريف الجهاز المتوافق على أنه جهاز ذو بنية موقعة من قبل المستخدم/مفتاح الإصدار. يجب أن يقوم جهازك بتشغيل صورة نظام استنادًا إلى إصدار المستخدم المعروف بأنه متوافق (Android 4.0 أو أعلى) من Codenames وTags وBuild Numbers .

خاصية بناء مستوى API الأول

تعتمد بعض متطلبات CTS على الإصدار الذي تم شحن الجهاز به في الأصل. على سبيل المثال، قد يتم استبعاد الأجهزة التي تأتي في الأصل مع إصدارات سابقة من متطلبات النظام التي تنطبق على الأجهزة التي تأتي مع إصدارات أحدث.

لإتاحة هذه المعلومات لـ CTS، كان من الممكن أن تحدد الشركات المصنعة للأجهزة خاصية وقت البناء ro.product.first_api_level . قيمة هذه الخاصية هي مستوى واجهة برمجة التطبيقات (API) الأول الذي تم إطلاق الجهاز به تجاريًا.

يمكن للشركات المصنعة للأجهزة إعادة استخدام التنفيذ الأساسي المشترك لإطلاق منتج جديد كترقية لمنتج موجود في نفس مجموعة الأجهزة. يمكن لمصنعي الأجهزة اختياريًا تعيين مستوى واجهة برمجة التطبيقات (API) للمنتج الحالي على ro.product.first_api_level ، بحيث يتم تطبيق متطلبات الترقية على CTS وTreble/VTS.

يمكن للشركات المصنعة للأجهزة تعريف PRODUCT_SHIPPING_API_LEVEL في ملف device.mk الخاص بها لتعيين هذه الخاصية، كما هو موضح في المثال التالي:

# PRODUCT_SHIPPING_API_LEVEL sets ro.product.first_api_level to indicate
# the first api level that the device has been commercially launched on.
PRODUCT_SHIPPING_API_LEVEL := 21

مستوى واجهة برمجة التطبيقات الأول لنظام Android 9 أو أعلى

بالنسبة للأجهزة التي تعمل بنظام التشغيل Android 9 أو الإصدارات الأحدث، قم بتعيين خاصية ro.product.first_api_level على قيمة صالحة من Codenames وTags وBuild Numbers .

مستوى واجهة برمجة التطبيقات الأول لنظام Android 8.x أو أقل

بالنسبة للأجهزة التي تعمل بنظام التشغيل Android 8.x أو الإصدارات الأقدم، قم بإلغاء تعيين (إزالة) خاصية ro.product.first_api_level للإصدار الأول للمنتج. بالنسبة لجميع الإصدارات اللاحقة، قم بتعيين ro.product.first_api_level على القيمة الصحيحة لمستوى واجهة برمجة التطبيقات. يسمح هذا للخاصية بتحديد منتج جديد بشكل صحيح والحفاظ على المعلومات حول مستوى واجهة برمجة التطبيقات الأول للمنتج. إذا لم يتم تعيين العلامة، يقوم Android بتعيين Build.VERSION.SDK_INT إلى ro.product.first_api_level .

حزم الرقائق CTS

يتضمن نظام Android 10 أو الإصدارات الأحدث تنسيق حزمة يسمى APEX . لتشغيل اختبارات CTS لواجهات برمجة تطبيقات إدارة APEX (مثل التحديث إلى إصدار جديد أو الإبلاغ عن APEXes النشطة)، يجب عليك التثبيت المسبق لحزمة CtsShimApex على قسم /system .

يتحقق اختبار التحقق من صحة APEX shim من تنفيذ CtsShimApex .

متطلبات ro.apex.updatable

  • إذا تم تعيين الخاصية ro.apex.updatable على true ، فستكون CtsShimApex مطلوبة لجميع الأجهزة التي تدعم إدارة حزم APEX.

  • إذا كانت الخاصية ro.apex.updatable مفقودة أو لم يتم تعيينها، فليس من الضروري تثبيت CtsShimApex مسبقًا على الجهاز.

يتحقق اختبار التحقق من صحة APEX shim من تنفيذ CtsShimApex .

CtsShim التثبيت المسبق والتحميل المسبق

بدءًا من Android 11، يحتوي CtsShimApex على تطبيقين تم إنشاؤهما مسبقًا (تم إنشاؤهما من مصدر البناء )، ولا يحتويان على أي تعليمات برمجية باستثناء البيان. تستخدم CTS هذه التطبيقات لاختبار الامتيازات والأذونات.

إذا كان الجهاز لا يدعم إدارة حزم APEX (أي أن خاصية ro.apex.updatable مفقودة أو لم يتم تعيينها)، أو إذا كان الجهاز يعمل بالإصدار 10 أو أقل، فيجب تثبيت التطبيقين اللذين تم إنشاؤهما مسبقًا في النظام بشكل منفصل.

إذا كان APEX مدعومًا، فيجب وضع عمليات التثبيت المسبق للإصدار المناسب كـ /system/apex/com.android.apex.cts.shim.apex .

إذا تم استخدام تطبيقات عادية تم إنشاؤها مسبقًا، فيجب وضع CtsShim و CtsShimPriv للإصدار المناسب كـ /system/app/CtsShimPrebuilt.apk و/system/priv-app/ /system/priv-app/CtsShimPrivPrebuilt.apk على التوالي.

يسرد الجدول التالي عمليات التثبيت المسبق وعمليات التحميل المسبق المتوفرة لكل إصدار وبنية جهاز.

إصدار الجهاز التثبيت المسبق
(إذا كان APEX مدعومًا)
التحميل المسبق
ذراع x86 ذراع x86
أندرويد 14 android14-إطلاق الذراع الإصدار android14-x86 android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

أندرويد 13 android13-إطلاق الذراع الإصدار android13-x86 android13-arm-CtsShim.apk

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

أندرويد 12 android12-arm-release الإصدار android12-x86 android12-arm-CtsShim.apk

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

أندرويد 11 android11-إطلاق الذراع الإصدار android11-x86 android11-arm-CtsShim.apk

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

أندرويد 10 android10-الإصدار android10-arm-CtsShim.apk

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

أندرويد 9، O، وO-MR1 لا يوجد لا يوجد Arm-CtsShim.apk

Arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

لاجتياز الاختبارات، قم بتحميل التطبيقات مسبقًا في الدلائل المناسبة على صورة النظام دون إعادة توقيع التطبيقات.

نموذج التطبيق الصغير

قدم Android 9 واجهات برمجة تطبيقات الجوال المفتوحة. بالنسبة للأجهزة التي تبلغ عن أكثر من عنصر آمن، تضيف CTS حالات اختبار للتحقق من صحة سلوك Open Mobile APIs. تتطلب حالات الاختبار هذه التثبيت لمرة واحدة لنموذج التطبيق الصغير في العنصر الآمن المضمن (eSE) الخاص بـ DUT أو في بطاقة SIM التي يستخدمها DUT. يمكن العثور على التطبيق الصغير لنموذج eSE ونموذج SIM في AOSP.

راجع اختبار CTS للعنصر الآمن للحصول على معلومات أكثر تفصيلاً حول حالات اختبار Open Mobile API وحالات اختبار التحكم في الوصول.

متطلبات التخزين

تتطلب اختبارات ضغط وسائط CTS وجود مقاطع الفيديو على وحدة تخزين خارجية ( /sdcard ). معظم المقاطع مأخوذة من Big Buck Bunny ، وهي محمية بحقوق الطبع والنشر من قبل مؤسسة Blender Foundation بموجب ترخيص Creative Commons Attribution 3.0 .

تعتمد المساحة المطلوبة على الحد الأقصى لدقة تشغيل الفيديو التي يدعمها الجهاز. راجع القسم 5 في مستند تعريف التوافق مع Android للتعرف على إصدار النظام الأساسي للقرارات المطلوبة.

فيما يلي متطلبات التخزين حسب الحد الأقصى لدقة تشغيل الفيديو:

  • 480 × 360: 98 ميجابايت
  • 720 × 480: 193 ميجابايت
  • 1280×720: 606 ميجابايت
  • 1920×1080: 1863 ميجابايت

الشاشة والتخزين

  • أي جهاز لا يحتوي على شاشة مدمجة يجب أن يكون متصلاً بشاشة.
  • إذا كان الجهاز يحتوي على فتحة لبطاقة الذاكرة، فقم بتوصيل بطاقة SD فارغة. استخدم بطاقة SD تدعم الناقل فائق السرعة (UHS) بسعة SDHC أو SDXC أو بطاقة ذات سرعة لا تقل عن 10 أو أعلى لضمان قدرتها على اجتياز CTS.

  • إذا كان الجهاز يحتوي على فتحات لبطاقة SIM، فقم بتوصيل بطاقة SIM نشطة في كل فتحة. إذا كان الجهاز يدعم الرسائل القصيرة، فيجب أن يكون لكل بطاقة SIM حقل رقم خاص بها. بالنسبة للأجهزة التي تعمل بنظام التشغيل Android 12 أو أعلى، يجب أن تتمتع جميع بطاقات SIM بدعم لتخزين أرقام الاتصال المختصرة (ADN). تلبي بطاقات GSM وUSIM المزودة بالملف المخصص للاتصالات (DF Telecom ) هذا المطلب.

المطور UICC

لتشغيل اختبارات واجهة برمجة تطبيقات الناقل CTS، يحتاج الجهاز إلى استخدام بطاقة SIM تتمتع بامتيازات الناقل CTS التي تلبي المتطلبات المحددة في إعداد UICC .

تكوين جهاز أندرويد

  1. إعادة ضبط بيانات المصنع للجهاز: الإعدادات > النسخ الاحتياطي وإعادة الضبط > إعادة ضبط بيانات المصنع .

  2. اضبط لغة جهازك على اللغة الإنجليزية ( الولايات المتحدة ): الإعدادات > اللغة والإدخال > اللغة .

  3. إذا كان الجهاز يدعم تخصيص الخطوط الافتراضية، فقم بتعيين عائلة خطوط sans-serif الافتراضية على Roboto (عائلة خطوط sans-serif الافتراضية المستخدمة في إصدارات AOSP).

  4. قم بتشغيل إعداد الموقع إذا كانت هناك ميزة GPS أو Wi-Fi/شبكة خلوية على الجهاز: الإعدادات > الموقع > تشغيل .

  5. اتصل بشبكة Wi-Fi تدعم IPv6، ويمكن التعامل مع DUT كعميل معزول (انظر البيئة المادية أعلاه)، ولديه اتصال بالإنترنت: الإعدادات > Wi-Fi .

  6. تأكد من عدم تعيين أي نمط قفل أو كلمة مرور على الجهاز: الإعدادات > الأمان > قفل الشاشة > لا شيء .

  7. تمكين تصحيح أخطاء USB على جهازك: الإعدادات > خيارات المطور > تصحيح أخطاء USB .

  8. اضبط الوقت على تنسيق 12 ساعة: الإعدادات > التاريخ والوقت > استخدام تنسيق 24 ساعة > إيقاف .

  9. اضبط الجهاز ليظل مستيقظًا: الإعدادات > خيارات المطور > البقاء مستيقظًا > تشغيل .

  10. في Android 5.x و4.4.x فقط ، اضبط الجهاز للسماح بالمواقع الوهمية: الإعدادات > خيارات المطور > السماح بالمواقع الوهمية > تشغيل .

  11. في نظام التشغيل Android 4.2 أو الإصدارات الأحدث ، قم بإيقاف تشغيل التحقق من تطبيقات USB: الإعدادات > خيارات المطور > التحقق من التطبيقات عبر USB > إيقاف .

  12. في نظام التشغيل Android 13 أو الإصدارات الأحدث ، اضبط الجهاز للسماح بالمودم الوهمي: الإعدادات > خيارات المطور > السماح بالمودم الوهمي > تشغيل .

  13. قم بتشغيل المتصفح وتجاهل أي شاشة بدء تشغيل/إعداد.

  14. قم بتوصيل جهاز سطح المكتب الذي سيتم استخدامه لاختبار الجهاز باستخدام كابل USB.

  15. قبل تشغيل CTS، قم بتعيين Roboto2 كخط sans-serif باستخدام إعداد إمكانية وصول المستخدم (غير مخفي).

تثبيت الملف

تثبيت وتكوين التطبيقات المساعدة على الجهاز.

  1. قم بإعداد جهازك وفقًا لإصدار CTS الخاص بك:

    • إصدارات CTS من 2.1 R2 إلى 4.2 R4: قم بإعداد جهازك (أو المحاكي) لتشغيل اختبارات إمكانية الوصول باستخدام: adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      على الجهاز، قم بتمكين التفويض: الإعدادات > إمكانية الوصول > إمكانية الوصول > تفويض خدمة إمكانية الوصول .

    • إصدارات CTS 6.x أو أقل: على الأجهزة التي تعلن عن android.software.device_admin ، قم بإعداد جهازك لتشغيل اختبار إدارة الجهاز باستخدام: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      في الإعدادات > الأمان > تحديد مسؤولي الجهاز ، قم بتمكين مسؤولي الجهاز android.deviceadmin.cts.CtsDeviceAdminReceiver* . تأكد من أن android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver وأي مسؤولي آخرين للأجهزة المحملة مسبقًا يظلون معطلين.

  2. انسخ ملفات وسائط CTS إلى الجهاز كما يلي:

    1. انتقل ( cd ) إلى المسار الذي يتم فيه تنزيل ملفات الوسائط وفك ضغطها.
    2. تغيير أذونات الملف: chmod u+x copy_media.sh

    3. انسخ الملفات الضرورية:

      • لنسخ المقاطع بدقة تصل إلى 720 × 480، قم بتشغيل:

        ./copy_media.sh 720x480
        
      • إذا لم تكن متأكدًا من الدقة القصوى، فانسخ جميع الملفات:

        ./copy_media.sh all
        
      • إذا كانت هناك أجهزة متعددة ضمن adb، أضف الخيار التسلسلي ( -s ) لجهاز معين إلى النهاية. على سبيل المثال، لنسخ ما يصل إلى 720 × 480 إلى الجهاز بالرقم التسلسلي 1234567، قم بتشغيل:

        ./copy_media.sh 720x480 -s 1234567