本文概述瞭如何集成未捆綁的應用程序。包括 Dialer、Media、Car UI Library 和 SMS 的應用程序被視為非捆綁應用程序。這些應用程序與 Android 平台分離,包括從手機伴侶應用程序和車端 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 中,導入這個構建文件:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- 請務必將 Android Studio 中的 Gradle JDK 設置為至少版本 11:
- 構建所需的 APK(或 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/unbundled-apps-gradle-project
- 運行以下命令:
./gradlew assemble
最低要求的 API 級別
每個未捆綁的應用程序都可以在版本等於或高於其minSdkVersion
的 Android 平台上運行。下表列出了每個應用程序支持的最低 API 版本:
應用程序 | 最低 API 級別 |
---|---|
日曆 | 29 |
車載 UI 庫 | 29 |
配套設備 | 29 |
撥號器 | 31 |
媒體 | 30 |
短信 | 30 |
谷歌汽車應用主機 | 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"], }
安卓 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 | ||
谷歌汽車應用主機 | X | ||
媒體 | X | ||
短信 | X | ||
更新分發 | OTA | OTA 或 Play 商店 | OTA 或 Play 商店 |