הגדרת CTS

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

סביבה פיזית

משואות 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 התומכת ב-IPv6, בעלת חיבור לאינטרנט ויכולה להתייחס ל-DUT כלקוח מבודד. לקוח מבודד מתייחס לתצורה שבה ל-DUT אין נראות להודעות השידור/רב-רשתות באותה רשת משנה. זה מתרחש עם תצורת Wi-Fi AP או על ידי הפעלת ה-DUT על רשת משנה מבודדת ללא התקנים אחרים מחוברים.

אם אין לך גישה לרשת IPv6 מקורית, רשת ספקית IPv6 או VPN כדי לעבור כמה בדיקות בהתאם ל-IPv6, תוכל להשתמש בנקודת גישה ל-Wi-Fi ובמנהרת IPv6. ראה את רשימת המתווכים של מנהרות IPv6 של ויקיפדיה.

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 .

קבצי CTS

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

הורד ופתח את הגרסה העדכנית ביותר של קבצי המדיה של 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_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

רמת 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. אם ההתקן תומך בהתאמה אישית של גופני ברירת מחדל, הגדר את משפחת הגופנים המוגדרים כברירת מחדל ל- Roboto (משפחת הגופנים ה- sans-serif 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. הפעל את הדפדפן ודחה כל מסך הפעלה/הגדרה.

  13. חבר את המחשב השולחני שישמש לבדיקת המכשיר באמצעות כבל USB.

התקנת קבצים

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

  1. הגדר את המכשיר שלך בהתאם לגרסת ה-CTS שלך:

    • גרסאות CTS 2.1 R2 עד 4.2 R4: הגדר את המכשיר (או האמולטור) שלך כדי להפעיל את מבחני הנגישות עם: abd 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