דף זה מתאר כיצד לשלב אפליקציות מפורקות. אפליקציות שכוללות חייגן, מדיה, ספריית ממשק משתמש לרכב ו-SMS נחשבות לאפליקציות מפורקות. אפליקציות אלו מנותקות מפלטפורמת אנדרואיד וכוללות את ההיגיון לקבלת נתונים מהאפליקציה הנלווית לטלפון ו-UX בצד המכונית, כולל הגדרות לשיוך ורישום תכונות.
חבילות APK שנבנו מהקוד המנותק פועלות עם מספר גרסאות של הפלטפורמה.
בדוק את הקוד
כדי לבדוק את הקוד המנותק:
- הפעל את הפעולות הבאות:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- למידע נוסף על עבודה עם קוד מקור AOSP, ראה אתחול לקוח Repo .
בנה את הקוד
אנדרואיד סטודיו
כדי לבנות את הקוד ב-Android Studio:
- ב-Android Studio, ייבא את קובץ ה-build הזה:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- הקפד להגדיר את Gradle JDK ב-Android Studio לגרסה 11 לפחות:
איור 1. גרסה 11. - בנו את חבילות ה-APK הרצויות.
שורת הפקודה
כדי לבנות את הקוד משורת הפקודה:
- הגדר את מיקום ה-SDK של Android באחת משתי הדרכים הבאות:
- צור
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
ולאחר מכן הגדר את המאפייןsdk.dir
שהוא מכיל. Android Studio יכול לעשות זאת באופן אוטומטי בעת פתיחת פרויקט. לדוגמה, השתמשsdk.dir=/Users/MY-USERNAME/Library/Android/sdk
.
אוֹ - הגדר את משתנה הסביבה
ANDROID_SDK_ROOT
עם הנתיב ל-Android SDK.
- צור
- פתח שורת פקודה או חלון מעטפת.
- עבור אל
packages/apps/Car/libs/aaos-apps-gradle-project
. - הפעל את הפקודה הבאה:
./gradlew assemble
רמות ה-API המינימליות הנדרשות
כל אפליקציה מנותקת פועלת על פלטפורמות אנדרואיד עם גרסה שווה או גדולה יותר מה- minSdkVersion
שלה. הטבלה הבאה מפרטת את גרסת ה-API המינימלית הנתמכת על ידי כל אפליקציה:
אפליקציה | רמת API מינימלית |
---|---|
לוּחַ שָׁנָה | 29 |
ספריית ממשק משתמש לרכב | 29 |
CompanionDevice | 29 |
חייגן | 31 |
כְּלֵי תִקְשׁוֹרֶת | 30 |
סמס | 30 |
מארח AOSP | 29 |
שילוב prebuild בתמונת מערכת
תמונות אנדרואיד 13 ומעלה
הקוד המנותק מוסר מפלטפורמת אנדרואיד 13. לכן, ייתכן שתידרש הוספת חבילות APK מובנות מראש לבניית פלטפורמה עבור:
- בדיקת תאימות CDD
- הקצאת אפליקציות מורשות
זה מושג עם כלל android_app_import
Soong:
android_app_import { name: "CarMediaApp", apk: "CarMediaApp.apk", privileged: true, certificate: "platform", // Media must be signed by the platform required: ["allowed_privapp_com.android.car.media"], }
אנדרואיד 12 ומטה
כל עוד גרסת פלטפורמת אנדרואיד נתמכת על ידי האפליקציה (ראה טבלה למעלה), ניתן להוסיף את ה-APK לאותה תמונת מערכת. עם זאת, לרוב האפליקציות המנותקות יש גרסאות קודמות של קוד המקור שנכללו בפלטפורמות נמוכות מאנדרואיד 13. כברירת מחדל, Soong נותן עדיפות לקוד המקור על פני קוד מובנה מראש. לכן, יש צורך להגדיר את דגל prefer
כ- true
בתוך כלל android_app_import
:
android_app_import { name: "CarDialerApp", apk: "CarDialerApp.apk", privileged: true, presigned: true, // Dialer can have its own signature required: ["allowed_privapp_com.android.car.dialer"], overrides: ["Dialer"], prefer: true, // The prebuilt replaces a source target with the same name, }
אפליקציות רשומות לפי סוג מנותק
אפליקציה | פריביליג' מנותק | מנותק (לא צריך להיות במחיצת מערכת) | |
---|---|---|---|
המערכת חתומה | לא חתום במערכת | ||
לוּחַ שָׁנָה | איקס | ||
CompanionDevice | איקס | ||
חייגן | איקס | ||
מארח AOSP | איקס | ||
כְּלֵי תִקְשׁוֹרֶת | איקס | ||
סמס | איקס | ||
עדכון הפצה | OTA | OTA או Google Play | OTA או Google Play |