本頁概述如何整合未封裝應用程式。包含撥號、媒體、車輛 UI 的應用程式 系統會將程式庫和簡訊視為未組合應用程式。這些應用程式與 Android 平台分離 並包含接收手機隨附應用程式資料和車輛端使用者體驗的邏輯, 包括關聯和功能註冊設定。
透過未封裝程式碼建立的 APK 適用於多個平台版本。
查看程式碼
如何查看未組合代碼:
- 執行以下指令:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- 如要進一步瞭解如何使用 Android 開放原始碼計畫原始碼,請參閱 初始化存放區用戶端。
建構程式碼
Android Studio
如要在 Android Studio 中建構程式碼:
- 在 Android Studio 中,匯入這個建構檔案:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- 務必將 Android Studio 中的 Gradle JDK 設為 11 以上版本:
圖 1.版本 11. - 建構所需 APK。
指令列
如何利用指令列建構程式碼:
- 您可透過下列其中一種方式設定 Android SDK 位置:
- 建立
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
和 然後設定其包含的sdk.dir
屬性。Android Studio 可以執行這項操作 會自動套用 Google Cloud 專案舉例來說,請使用sdk.dir=/Users/MY-USERNAME/Library/Android/sdk
。
或 - 使用指向
ANDROID_SDK_ROOT
Android SDK。
- 建立
- 開啟命令提示字元或殼層視窗。
- 前往
packages/apps/Car/libs/aaos-apps-gradle-project
。 - 執行下列指令:
./gradlew assemble
最低必要 API 級別
每個未組合的應用程式可在 Android 平台上運作 (版本等於或大於其版本)
minSdkVersion
。下表列出各個應用程式支援的最低 API 版本:
應用程式 | 最低 API 級別 |
---|---|
日曆 | 29 |
Car UI 程式庫 | 29 |
隨附裝置 | 29 |
Dialer | 31 |
媒體 | 30 |
簡訊 | 30 |
Android 開放原始碼計畫主機 | 29 |
將預先建構功能整合到系統映像檔
Android 13 以上版本的圖片
未封裝程式碼會從 Android 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"], }
Android 12 以下版本
只要應用程式支援 Android 平台版本 (請參閱上表),APK 就可以
新增至該系統映像檔不過,大多數未組合的應用程式都有舊版的原始碼
包含在 Android 13 以下版本的平台上根據預設,Soong 將
的優先順序高於預先建構的原始碼因此,您得為
android_app_import
規則中的 prefer
旗標至 true
:
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, }
根據非郵件分類類型列出的應用程式
應用程式 | 取消組合特權 | 未組合 (不需位於系統分區) |
|
---|---|---|---|
系統簽署 | 非系統簽署 | ||
日曆 | X | ||
隨附裝置 | X | ||
Dialer | X | ||
Android 開放原始碼計畫主機 | X | ||
媒體 | X | ||
簡訊 | X | ||
更新發布 | OTA | OTA 或 Google Play | OTA 或 Google Play |