本页概述了如何集成非捆绑应用程序。包含拨号器、媒体、汽车 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 |