Интегрируйте несвязанные приложения

Приложения, включающие в себя «Диалер», «Медиа», «Автомобильную библиотеку пользовательского интерфейса» и «СМС», считаются небандлированными (то есть отделенными от платформы 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:

  1. В Android Studio импортируйте следующий файл сборки:

    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
    
  2. Убедитесь, что версия Gradle JDK установлена ​​на уровне 11 или выше:

    Версия 11

    Рисунок 1. Установите Gradle JDK версии 11 в Android Studio.

Командная строка

Чтобы собрать код из командной строки:

  1. Задайте расположение 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.

  2. Откройте командную строку или окно оболочки.

  3. Перейдите в packages/apps/Car/libs/aaos-apps-gradle-project .

  4. Выполните следующую команду:

    ./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