Приложения, включающие в себя «Диалер», «Медиа», «Автомобильную библиотеку пользовательского интерфейса» и «СМС», считаются небандлированными (то есть отделенными от платформы Android). Такие приложения включают в себя логику получения данных из сопутствующего приложения для телефона и пользовательский интерфейс со стороны автомобиля, включая настройки для ассоциаций и регистрации функций. APK-файлы, созданные на основе небандлированного кода, работают с несколькими версиями платформы.
Проверьте код
Чтобы проверить разделенный код, выполните следующее:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
repo sync -cq -j4
Дополнительные сведения о работе с исходным кодом AOSP см. в разделе Инициализация клиента репозитория .
Создайте код
Вы можете создать код с помощью Android Studio или из командной строки.
Android Studio
Чтобы собрать код в Android Studio:
В Android Studio импортируйте следующий файл сборки:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
Убедитесь, что версия Gradle JDK установлена на уровне 11 или выше:
Рисунок 1. Установите Gradle JDK версии 11 в Android Studio.
Командная строка
Чтобы собрать код из командной строки:
Задайте расположение 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_ROOT
, указав путь к Android SDK.
Откройте командную строку или окно оболочки.
Перейдите в
packages/apps/Car/libs/aaos-apps-gradle-project
.Выполните следующую команду:
./gradlew assemble
Минимально требуемые уровни API
Каждое отдельное приложение работает на платформах Android версии не ниже minSdkVersion
. В следующей таблице указана минимальная версия API, поддерживаемая каждым приложением:
Приложение | Минимальный уровень API |
---|---|
Календарь | 29 |
Библиотека автомобильного пользовательского интерфейса | 29 |
CompanionDevice | 29 |
Дозвонщик | 31 |
СМИ | 30 |
Мессенджер (СМС) | 30 |
Хост AOSP | 29 |
Интеграция предварительной сборки в образ системы
Если версия платформы Android поддерживается приложением (см. таблицу в предыдущем разделе), вы можете добавить APK в образ системы. Однако шаги интеграции различаются в зависимости от версии платформы Android.
Android 13 и выше
В Android 13 и более поздних версиях исходный код для отдельных приложений отсутствует, но вы можете включить готовый APK-файл в сборку платформы для таких случаев, как тестирование на соответствие требованиям CDD или подготовка привилегированных приложений. Чтобы указать APK-файл, используйте правило Сунга android_app_import
, как показано в следующем примере:
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 12 и более ранних версиях исходный код для отдельных приложений уже есть, но вы всё равно можете указать готовый APK-файл для включения. Поскольку 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
}
Подробности о разукрупненном приложении
Приложение/Распространение | Привилегированный разделенный система подписана | Привилегированный разделенный не подписано системой | Разделенный не обязательно находиться на системном разделе |
---|---|---|---|
Приложение - Календарь | Х | ||
Приложение - CompanionDeviceSupport | Х | ||
Приложение - Дозвонщик | Х | ||
Приложение - Хост AOSP | Х | ||
Приложение - Медиа | Х | ||
Приложение - Мессенджер (SMS) | Х | ||
Распространение обновлений | ОТА | ОТА или Google Play | ОТА или Google Play |