Приложения, включающие в себя «Диалер», «Медиа», «Автомобильную библиотеку пользовательского интерфейса» и «СМС», считаются небандлированными (то есть отделенными от платформы Android). Такие приложения включают в себя логику получения данных из сопутствующего приложения для телефона и пользовательский интерфейс со стороны автомобиля, включая настройки для ассоциаций и регистрации функций. APK-файлы, созданные на основе небандлированного кода, работают с несколькими версиями платформы.
Проверьте код
Чтобы проверить разделенный код, выполните следующее:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-masterrepo 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 | 
