本頁概述如何整合非捆綁應用程式。包含撥號器、媒體、汽車 UI 庫和 SMS 的應用程式被視為非捆綁應用程式。這些應用程式與 Android 平台分離,包括從手機配套應用程式接收資料的邏輯和汽車端的使用者體驗,包括關聯和功能註冊的設定。
從非捆綁程式碼建構的 APK 可與此平台的多個版本搭配使用。
檢視程式碼
若要查看未捆綁的程式碼:
- 執行以下指令:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- 要了解有關使用 AOSP 原始程式碼的更多信息,請參閱初始化 Repo 用戶端。
建構程式碼
安卓工作室
要在 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 可以在開啟專案時自動執行此操作。例如,使用sdk.dir=/Users/MY-USERNAME/Library/Android/sdk
。
或者 - 使用 Android SDK 的路徑設定
ANDROID_SDK_ROOT
環境變數。
- 建立
- 開啟命令提示字元或 shell 視窗。
- 轉到
packages/apps/Car/libs/aaos-apps-gradle-project
。 - 執行以下指令:
./gradlew assemble
最低 API 等級要求
每個未捆綁的應用程式都可以在 Android 平台上運行,其版本等於或大於其minSdkVersion
。下表列出了每個應用程式支援的最低 API 版本:
應用程式 | 最低 API 級別 |
---|---|
日曆 | 29 |
汽車UI庫 | 29 |
配套設備 | 29 |
撥號器 | 31 |
媒體 | 30 |
簡訊 | 30 |
AOSP主機 | 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 | ||
撥號器 | X | ||
AOSP主機 | X | ||
媒體 | X | ||
簡訊 | X | ||
更新分送 | 線上旅行社 | OTA 或 Google Play | OTA 或 Google Play |