כדי להפעיל 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 | android12-x86-CtsShim.apk תחת /system/app/CtsShimPrebuilt.apk android12-x86-CtsShimPriv.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 | android11-x86-CtsShim.apk תחת /system/app/CtsShimPrebuilt.apk android11-x86-CtsShimPriv.apk |
אנדרואיד 10 | מהדורת אנדרואיד10 תחת /system/apex/com.android.apex.cts.shim.apex | android10-arm-CtsShim.apk תחת /system/app/CtsShimPrebuilt.apk android10-arm-CtsShimPriv.apk | android10-x86-CtsShim.apk תחת /system/app/CtsShimPrebuilt.apk android10-x86-CtsShimPriv.apk | |
אנדרואיד 9, O ו-O-MR1 | לא | לא | arm-CtsShim.apk תחת /system/app/CtsShimPrebuilt.apk arm-CtsShimPriv.apk | x86-CtsShim.apk תחת /system/app/CtsShimPrebuilt.apk x86-CtsShimPriv.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 .
תצורת מכשיר אנדרואיד
איפוס נתוני יצרן של המכשיר: הגדרות > גיבוי ואיפוס > איפוס נתוני יצרן .
הגדר את שפת המכשיר שלך לאנגלית ( ארצות הברית ): הגדרות > שפה וקלט > שפה .
אם ההתקן תומך בהתאמה אישית של גופני ברירת מחדל, הגדר את משפחת הגופנים המוגדרים כברירת מחדל ל-
Roboto
(משפחת הגופנים ה-sans-serif
sans-serif
כברירת מחדל המשמשת בבניית AOSP).הפעל את הגדרת המיקום אם יש תכונת GPS או Wi-Fi/רשת סלולרית במכשיר: הגדרות > מיקום > מופעל .
התחבר לרשת Wi-Fi התומכת ב-IPv6, יכול להתייחס ל-DUT כלקוח מבודד (ראה סביבה פיזית למעלה), ויש לו חיבור לאינטרנט: הגדרות > Wi-Fi .
ודא שלא מוגדרת דפוס נעילה או סיסמה במכשיר: הגדרות > אבטחה > נעילת מסך > אין .
אפשר איתור באגים ב-USB במכשיר שלך: הגדרות > אפשרויות מפתח > איתור באגים ב-USB .
הגדר את השעה לפורמט 12 שעות: הגדרות > תאריך ושעה > השתמש בפורמט 24 שעות > כבוי .
הגדר את המכשיר להישאר ער: הגדרות > אפשרויות מפתחים > הישאר ער > פועל .
ב- Android 5.x ו-4.4.x בלבד , הגדר את המכשיר כך שיאפשר מיקומים מדומים: הגדרות > אפשרויות מפתח > אפשר מיקומים מדומים > מופעל .
ב- Android 4.2 ומעלה , כבה את אימות אפליקציות USB: הגדרות > אפשרויות מפתח > אימות אפליקציות דרך USB > כבוי .
הפעל את הדפדפן ודחה כל מסך הפעלה/הגדרה.
חבר את המחשב השולחני שישמש לבדיקת המכשיר באמצעות כבל USB.
התקנת קבצים
התקן והגדר אפליקציות מסייעות במכשיר.
הגדר את המכשיר שלך בהתאם לגרסת ה-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
וכל מנהלי מכשיר שנטענו מראש נשארים מושבתים.
העתק את קובצי המדיה של CTS למכשיר באופן הבא:
- נווט (
cd
) אל הנתיב שבו מורידים ופורקים את קובצי המדיה. שנה את הרשאות הקובץ:
chmod u+x copy_media.sh
העתק את הקבצים הדרושים:
כדי להעתיק קליפים עד רזולוציה של 720x480, הפעל:
./copy_media.sh 720x480
אם אינך בטוח ברזולוציה המקסימלית, העתק את כל הקבצים:
./copy_media.sh all
אם ישנם התקנים מרובים תחת adb, הוסף את האפשרות הטורית (
-s
) של התקן ספציפי עד הסוף. לדוגמה, כדי להעתיק עד 720x480 למכשיר עם 1234567 סדרתי, הפעל:./copy_media.sh 720x480 -s 1234567
- נווט (