إعداد CTS

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

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

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

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

الكاميرات

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

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

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

GPS / GNSS

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

شبكة Wi-Fi و IPv6

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

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

Wi-Fi RTT

يشتمل نظام التشغيل Android على Wi-Fi RTT API لإمكانية الوصول إلى شبكة Wi-Fi ذهابًا وإيابًا (RTT) . يسمح هذا للأجهزة بقياس المسافة بينها وبين نقاط الوصول بدقة تتراوح من متر واحد إلى مترين ، مما يزيد بشكل كبير من دقة الموقع الداخلي.

ارجع إلى شبكة Wi-Fi RTT (IEEE 802.11mc) وموقع Wi-Fi: بدءًا من RTT للحصول على قائمة بالأجهزة الموصى بها التي تدعم Wi-Fi RTT.

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

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

ADB و AAPT

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

لتثبيت ADB ، قم بتنزيل حزمة Android SDK Tools لنظام التشغيل الخاص بك ، وافتحها ، واتبع التعليمات الموجودة في ملف README المضمن. للحصول على معلومات حول استكشاف الأخطاء وإصلاحها ، راجع تثبيت أدوات SDK المستقلة .

تأكد من أن adb و aapt هي في مسار النظام الخاص بك. يفترض الأمر التالي أنك فتحت أرشيف الحزمة في الدليل الرئيسي الخاص بك:

export PATH=$PATH:$HOME/android-sdk-linux/build-tools/version

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

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

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

للحصول على التفاصيل ، راجع متطلبات JDK .

ملفات CTS

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

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

كشف الجهاز

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

حد الذاكرة

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

إعداد جهاز Android

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

يُعرَّف الجهاز المتوافق بأنه جهاز به بنية مُوقعة من المستخدم / مفتاح التحرير. يجب أن يقوم جهازك بتشغيل صورة نظام استنادًا إلى بنية المستخدم المتوافقة المعروفة (Android 4.0 أو أعلى) من أسماء الرموز والعلامات وأرقام الإنشاء .

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

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

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

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

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

#ro.product.first_api_level indicates the first api level that the device has
been commercially launched on.
PRODUCT_PROPERTY_OVERRIDES +=\
ro.product.first_api_level=21

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

لأجهزة أطلقت مع الروبوت 9 أو أعلى، تعيين ro.product.first_api_level الخاصية إلى قيمة صالحة من Codenames، الكلمات، والأرقام البناء .

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

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

حزم الرقائق CTS

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

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

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

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

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

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

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

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

إصدار الجهاز التثبيت المسبق (إذا كان APEX مدعومًا) التحميل المسبق
ذراع إلى x86 ذراع إلى x86
أندرويد 11 android11- الافراج عن الذراع
تحت /system/apex/com.android.apex.cts.shim.apex
android11-x86-release
تحت /system/apex/com.android.apex.cts.shim.apex
android11-arm-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

android11-arm-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

android11-x86-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

android11-x86-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

أندرويد 10 android10 الإصدار
تحت /system/apex/com.android.apex.cts.shim.apex
android10-arm-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

android10-arm-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

android10-x86-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

android10-x86-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

Android 9 و O و O-MR1 غير متاح غير متاح arm-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

arm-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

x86-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

x86-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

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

نموذج بريمج

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

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

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

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

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

لاحظ أنه يتم التحقق من إمكانات تشغيل الفيديو في DUT من خلال android.media.CamcorderProfile APIs للإصدارات السابقة من Android و android.media.MediaCodecInfo.CodecCapabilities APIs من Android 5.0.

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

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

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

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

المطور UICC

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

تكوين جهاز Android

  1. إعادة تعيين بيانات المصنع للجهاز: الإعدادات> النسخ الاحتياطي وإعادة الضبط> إعادة تعيين بيانات المصنع .
  2. اضبط لغة جهازك على الإنجليزية ( الولايات المتحدة ): الإعدادات> اللغة والإدخال> اللغة .
  3. قم بتشغيل إعداد الموقع إذا كانت هناك ميزة GPS أو Wi-Fi / شبكة خلوية على الجهاز: الإعدادات> الموقع> تشغيل .
  4. الاتصال بشبكة Wi-Fi التي تدعم IPv6، ويمكن علاج DUT كعميل معزولة (انظر البيئة الفيزيائية أعلاه)، ولديها اتصال بالإنترنت: إعدادات> واي فاي.
  5. تأكد من عدم تعيين نمط قفل أو كلمة مرور على الجهاز: الإعدادات> الأمان> قفل الشاشة> بلا .
  6. قم بتمكين تصحيح أخطاء USB على جهازك: الإعدادات> خيارات المطور> تصحيح أخطاء USB .
  7. اضبط الوقت على تنسيق 12 ساعة: الإعدادات> التاريخ والوقت> استخدام تنسيق 24 ساعة> إيقاف .
  8. اضبط الجهاز ليظل مستيقظًا: الإعدادات> خيارات المطور> البقاء مستيقظًا> تشغيل .
  9. في الإصدارين Android 5.x و 4.4.x فقط ، اضبط الجهاز للسماح بمواقع وهمية: الإعدادات> خيارات المطور> السماح بمواقع وهمية> تشغيل .
  10. في Android 4.2 أو أعلى ، أوقف تشغيل التحقق من تطبيق USB: الإعدادات> خيارات المطور> التحقق من التطبيقات عبر USB> إيقاف التشغيل .
  11. قم بتشغيل المتصفح وتجاهل أي شاشة بدء تشغيل / إعداد.
  12. قم بتوصيل جهاز سطح المكتب الذي سيتم استخدامه لاختبار الجهاز باستخدام كبل USB.

تثبيت الملف

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

  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