מדריך לשילוב

דף זה מתאר כיצד לשלב אפליקציות מפורקות. אפליקציות שכוללות חייגן, מדיה, ספריית ממשק משתמש לרכב ו-SMS נחשבות לאפליקציות מפורקות. אפליקציות אלו מנותקות מפלטפורמת אנדרואיד וכוללות את ההיגיון לקבלת נתונים מהאפליקציה הנלווית לטלפון ו-UX בצד המכונית, כולל הגדרות לשיוך ורישום תכונות.

חבילות APK שנבנו מהקוד המנותק פועלות עם מספר גרסאות של הפלטפורמה.

בדוק את הקוד

כדי לבדוק את הקוד המנותק:

  1. הפעל את הפעולות הבאות:
    repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
    repo sync -cq -j4
    
  2. למידע נוסף על עבודה עם קוד מקור AOSP, ראה אתחול לקוח Repo .

בנה את הקוד

אנדרואיד סטודיו

כדי לבנות את הקוד ב-Android Studio:

  1. ב-Android Studio, ייבא את קובץ ה-build הזה:
    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
  2. הקפד להגדיר את Gradle JDK ב-Android Studio לגרסה 11 לפחות:


    איור 1. גרסה 11.
  3. בנו את חבילות ה-APK הרצויות.

שורת הפקודה

כדי לבנות את הקוד משורת הפקודה:

  1. הגדר את מיקום ה-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.
  2. פתח שורת פקודה או חלון מעטפת.
  3. עבור אל packages/apps/Car/libs/aaos-apps-gradle-project .
  4. הפעל את הפקודה הבאה:
    ./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