הגדרת CTS

כדי להפעיל CTS, תחילה הכן את הסביבה הפיזית שלך, את המחשב השולחני שלך ואת מכשיר האנדרואיד שבו אתה משתמש לבדיקה.

סביבה פיזית

משואות Bluetooth 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 התומכת ב-IPv4 ו-IPv6, בעלת חיבור לאינטרנט עם DNS פועל עבור IPv4 ו-IPv6, תומכת ב-IP Multicast ויכולה להתייחס ל-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 RTT

אנדרואיד כולל את ה- Wi-Fi RTT API עבור יכולת Wi-Fi הלוך ושוב (RTT) . זה מאפשר למכשירים למדוד את המרחק שלהם לנקודות גישה בדיוק של 1 עד 2 מטר, מה שמגדיל משמעותית את דיוק המיקום הפנימי. שני מכשירים מומלצים התומכים ב-Wi-Fi RTT הם Google Wifi ונקודת הגישה fitlet2 של Compulab (מוגדרת ברוחב פס של 40 מגה-הרץ ב-5 גיגה-הרץ).

יש להפעיל את נקודות הגישה, אך אינן מצריכות חיבור לרשת. נקודות גישה אינן חייבות להיות ליד מכשיר הבדיקה, אך מומלץ להיות בטווח של 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 עבור אובונטו

התקן את הגרסה המתאימה של ערכת הפיתוח של Java (JDK) .

  • עבור אנדרואיד 11, התקן את OpenJDK11.
  • עבור אנדרואיד 9 ואנדרואיד 10, התקן את OpenJDK9.
  • עבור אנדרואיד 7.0, 7.1, 8.0 ו-8.1, התקן את OpenJDK8.

לפרטים, עיין בדרישות JDK .

הגדרה לתמיכה ב-Python

התקן את virtualenv עבור הפלטפורמה שלך על ידי ביצוע הוראות ההתקנה .

אתה יכול לוודא שההתקנה הצליחה על ידי הפעלת virtualenv -h .

קבצי CTS

הורד ופתח את חבילות ה-CTS מ- Compatibility Test Suite הורדות התואמות את גרסת ה-Android של המכשירים שלך ולכל הממשקים הבינאריים של האפליקציות (ABI) שהמכשירים שלך תומכים בהם.

הורד ופתח את הגרסה העדכנית ביותר של קובצי המדיה של CTS .

זיהוי מכשיר

בצע את השלב כדי להגדיר את המערכת שלך כדי לזהות את המכשיר שלך .

מגבלת זיכרון

ייתכן שתרצה להגדיל את הזיכרון המרבי הזמין במהלך הפעלת הבדיקה בסקריפט cts-tradfed . עיין בדוגמה 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

רמת API ראשונה עבור אנדרואיד 9 ומעלה

עבור מכשירים שהושקו עם אנדרואיד 9 ומעלה, הגדר את המאפיין ro.product.first_api_level לערך חוקי מתוך Codenames, Tags ו-Build Numbers .

רמת API ראשונה עבור אנדרואיד 8.x ומטה

עבור מכשירים שהושקו ב-Android 8.x ומטה, בטל (הסר) את המאפיין ro.product.first_api_level עבור הגירסה הראשונה של המוצר. עבור כל הגירסאות הבאות, הגדר את ro.product.first_api_level לערך הנכון ברמת ה-API. זה מאפשר למאפיין לזהות נכון מוצר חדש ושומר מידע על רמת ה-API הראשונה של המוצר. אם הדגל אינו מוגדר, אנדרואיד מקצה את Build.VERSION.SDK_INT ל- ro.product.first_api_level .

חבילות shim CTS

אנדרואיד 10 ומעלה כולל פורמט חבילה בשם APEX . כדי להפעיל בדיקות CTS עבור ממשקי API לניהול APEX (כגון עדכון לגרסה חדשה או דיווח על APEXs פעילים) עליך להתקין מראש חבילת CtsShimApex /system .

מבחן אימות shim APEX מאמת את היישום של CtsShimApex .

דרישות ro.apex.updatable

  • אם המאפיין ro.apex.updatable מוגדר כ- true , CtsShimApex נדרש עבור כל המכשירים התומכים בניהול חבילות APEX.

  • אם המאפיין ro.apex.updatable חסר או לא מוגדר, אין צורך בהתקנה מראש של CtsShimApex במכשיר.

מבחן אימות shim APEX מאמת את היישום של CtsShimApex .

CtsShim מראש

החל מאנדרואיד 11, CtsShimApex מכיל שתי אפליקציות מובנות מראש (הבנויות ממקור build ), שאינן מכילות שום קוד מלבד המניפסט. CTS משתמש באפליקציות אלה כדי לבדוק הרשאות והרשאות.

אם המכשיר אינו תומך בניהול חבילות APEX (כלומר, המאפיין ro.apex.updatable חסר או אינו מוגדר), או אם המכשיר פועל בגרסה 10 ומטה, יש להתקין מראש את שתי האפליקציות המובנות מראש מערכת בנפרד.

גרסת מכשיר התקנה מראש
(אם APEX נתמך)
טעינה מראש
זְרוֹעַ x86 זְרוֹעַ x86
אנדרואיד 12 android12-arm-release
תחת /system/apex/com.android.apex.cts.shim.apex
android12-x86-release
תחת /system/apex/com.android.apex.cts.shim.apex
android12-arm-CtsShim.apk
תחת /system/app/CtsShimPrebuilt.apk

android12-arm-CtsShimPriv.apk
תחת /system/priv-app/CtsShimPrivPrebuilt.apk

android12-x86-CtsShim.apk
תחת /system/app/CtsShimPrebuilt.apk

android12-x86-CtsShimPriv.apk
תחת /system/priv-app/CtsShimPrivPrebuilt.apk

אנדרואיד 11 android11-arm-release
תחת /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 מהדורת אנדרואיד10
תחת /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

אנדרואיד 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

כדי לעבור את הבדיקות, טען מראש את האפליקציות בספריות המתאימות בתמונת המערכת מבלי לחתום מחדש על האפליקציות.

יישומון לדוגמא

אנדרואיד 9 הציגה ממשקי API של Open Mobile. עבור מכשירים המדווחים על יותר מאלמנט מאובטח אחד, CTS מוסיפה מקרי בדיקה כדי לאמת את ההתנהגות של ממשקי API של Open Mobile. מקרי בדיקה אלה דורשים התקנה חד פעמית של יישומון לדוגמה לתוך ה-Secure Element (eSE) המוטבע של ה-DUT או לתוך כרטיס ה-SIM המשמש את ה-DUT. ניתן למצוא את היישומון לדוגמה של eSE והיישומון לדוגמה של ה-SIM ב-AOSP.

ראה בדיקת CTS for Secure Element למידע מפורט יותר על מקרי בדיקה של Open Mobile API ומקרי בדיקה של בקרת גישה.

דרישות אחסון

מבחני הלחץ במדיה של CTS דורשים שסרטוני וידאו יהיו באחסון חיצוני ( /sdcard ). רוב הקליפים הם מ- Big Buck Bunny , המוגן בזכויות יוצרים על ידי קרן בלנדר תחת רישיון Creative Commons Attribution 3.0 .

השטח הדרוש תלוי ברזולוציית השמעת הווידאו המקסימלית הנתמכת על ידי המכשיר. ראה סעיף 5 במסמך הגדרת תאימות אנדרואיד לגרסת הפלטפורמה של הרזולוציות הנדרשות.

להלן דרישות האחסון לפי רזולוציית השמעת וידאו מקסימלית:

  • 480x360: 98 MB
  • 720x480: 193 MB
  • 1280x720: 606 MB
  • 1920x1080: 1863 MB

מסך ואחסון

  • כל מכשיר שאין לו מסך משובץ צריך להיות מחובר למסך.
  • אם למכשיר יש חריץ לכרטיס זיכרון, חבר כרטיס SD ריק. השתמש בכרטיס SD התומך באוטובוס מהיר במיוחד (UHS) עם קיבולת SDHC או SDXC או בכרטיס עם מהירות 10 ומעלה לפחות כדי להבטיח שהוא יכול לעבור את ה-CTS.

  • אם למכשיר יש חריצים לכרטיסי SIM, חבר כרטיס SIM מופעל לכל חריץ. אם המכשיר תומך ב-SMS, לכל כרטיס SIM חייב להיות שדה מספר משלו. עבור מכשירים עם אנדרואיד 12 ומעלה, כל כרטיסי ה-SIM חייבים להיות בעלי תמיכה באחסון מספרי חיוג מקוצרים (ADN). כרטיסי GSM ו-USIM עם הקובץ הייעודי לטלקום (DF Telecom ) עומדים בדרישה זו.

מפתח UICC

כדי להפעיל בדיקות API של ספק 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. העתק את הקבצים הדרושים:

      • כדי להעתיק קליפים עד רזולוציה של 720x480, הפעל:

        ./copy_media.sh 720x480
        
      • אם אינך בטוח ברזולוציה המקסימלית, העתק את כל הקבצים:

        ./copy_media.sh all
        
      • אם ישנם התקנים מרובים תחת adb, הוסף את האפשרות הטורית ( -s ) של התקן ספציפי עד הסוף. לדוגמה, כדי להעתיק עד 720x480 למכשיר עם 1234567 סדרתי, הפעל:

        ./copy_media.sh 720x480 -s 1234567