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

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

Wi-Fi RTT

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

יש להפעיל את נקודות הגישה, אך אינן מצריכות חיבור לרשת. נקודות גישה אינן חייבות להיות ליד מכשיר הבדיקה, אך מומלץ להיות בטווח של 40 רגל מה-DUT. נקודת גישה אחת מספיקה בדרך כלל.

הגדרת מחשב שולחני

ADB ו-AAPT

לפני הפעלת תוכנית CTS, להבטיח שהתקנת את הגרסאות האחרונות של שניהם של Android Debug Bridge (ADB) ו Android Asset אריזה כלי (AAPT) והוסיף את המיקום של הכלים האלה לנתיב המערכת של המחשב שלך.

כדי להתקין ADB, להוריד את כלי SDK אנדרואיד החבילה עבור מערכת ההפעלה שלך, לפתוח אותו, ופעל בהתאם להוראות בקובץ README כלולים. לקבלת מידע על פתרון בעיות, ראה התקנת כלי SDK העצמאי .

ודא כי adb ו aapt נמצאים בנתיב המערכת. הפקודה הבאה מניחה שפתחת את ארכיון החבילות בספריית הבית שלך:

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

ערכת פיתוח Java עבור אובונטו

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

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

לפרטים, ראה דרישות JDK .

קבצי CTS

הורד ופתח את החבילות CTS מן מבחן תאימות Suite הורדות תואמות את גרסת Android במכשיר שלך וכל הממשקים בינארי היישום (Abis) התומכים המכשירים שלך.

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

זיהוי מכשיר

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

מגבלת זיכרון

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

הגדרת מכשיר אנדרואיד

בניית משתמש

מכשיר תואם מוגדר כמכשיר עם מבנה חתום של משתמש/מפתח שחרור. המכשיר צריך להיות מפעיל תמונת מערכת המבוססת על המכונה להיות לבנות משתמשים תואמות (אנדרואיד 4.0 ומעלה) מ צופן, התגיות, ומספרי בנה .

נכס בנייה ראשון ברמת API

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

כדי להפוך את המידע הזה זמין CTS, יצרני התקנים יכולים להגדיר את המאפיין לבנות בזמן ro.product.first_api_level . הערך של נכס זה הוא רמת ה-API הראשונה שאיתה המכשיר הושק מסחרית.

יצרני המכשירים יכולים לעשות שימוש חוזר ביישום הבסיסי המשותף כדי להשיק מוצר חדש כשדרוג של מוצר קיים באותה קבוצת מכשירים. יצרני המכשיר יכול להגדיר את רמת ה- API אופציונלי של המוצר הקיים ro.product.first_api_level , כך דרישות שדרוג מוחלים עבור CTS ו טרבל / 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 רכוש לערך תקף שמות צופן, תגיות, ומספרים בנה .

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

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

חבילות shim CTS

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

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

ro.apex.updatable דרישות

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

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

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

CtsShim preinstalls ו טעינה מוקדמת

החל 11 אנדרואיד, CtsShimApex מכיל שני יישומים מוכנים מראש (בנוי מקור לבנות ), אשר אינן מכילות קוד כלשהו למעט במניפסט. 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 מבחן עבור רכיב מאובטח למידע מפורט יותר על מקרי מבחן API Open Mobile ו מקרי מבחן בקרת גישה.

דרישות אחסון

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

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

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

  • 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) לספק את הדרישה הזו.

מפתח UICC

כדי להריץ בדיקות API המוביל CTS, המכשיר צריך להשתמש SIM עם הרשאות מובילות CTS בדרישות המפורטות הכנת UICC .

תצורת מכשיר אנדרואיד

  1. איפוס נתוני יצרן המכשיר: הגדרות> גיבוי ואיפוס> איפוס נתוני יצרן.

  2. הגדר את השפה של המכשיר לאנגלית (ארצות הברית): הגדרות> שפה וקלט> שפה.

  3. אם המכשיר תומך התאמה אישית גופנים מחדל, להגדיר את ברירת המחדל sans-serif משפחת הגופן Roboto (ברירת המחדל sans-serif משפחת הגופנים המשמשים AOSP בונה).

  4. הפעל את הגדרת המיקום אם יש GPS או Wi-Fi / תכונה רשת סלולרית במכשיר: הגדרות> מיקום> מופעל.

  5. התחבר לרשת Wi-Fi אשר תומך ב- IPv6, יכול לטפל נבדק כלקוח מבודד (ראה סביבה פיסית לעיל), ויש לו חיבור לאינטרנט: הגדרות> Wi-Fi.

  6. ודא כי אין דפוס או סיסמא לנעילה מוגדרת במכשיר: הגדרות> אבטחה> נעילת מסך> אין.

  7. אפשר באגים USB במכשיר: הגדרות> אפשרויות למפתחים> ניפוי USB.

  8. הגדר את הזמן בפורמט 12 שעות ביממה: הגדרות> תאריך ושעה> בפורמט 24 שעות ביממה השתמש> Off.

  9. הגדר את המכשיר כדי להישאר ערות: הגדרות> אפשרויות למפתחים> להישאר ערים> ביום.

  10. בשנת 5.x אנדרואיד 4.4.x רק, להגדיר את המכשיר כדי לאפשר מיקומים מדומים: הגדרות> אפשרויות למפתחים> אפשר מיקומים מדומים> ביום.

  11. בשנת אנדרואיד 4.2 ומעלה, לכבות אימות אפליקציה USB: הגדרות> אפשרויות למפתחים> אמת יישומים דרך USB> Off.

  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