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

Приложения, включающие Dialer, Media, Car UI Library и SMS, считаются отдельными приложениями (то есть они не связаны с платформой Android). Такие приложения включают в себя логику получения данных из приложения-компаньона телефона и пользовательский интерфейс автомобиля, включая настройки ассоциации и регистрацию функций. APK-файлы, созданные на основе отдельного кода, работают с несколькими версиями платформы.

Проверьте код

Чтобы проверить несвязанный код, выполните следующее:

repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
repo sync -cq -j4

Дополнительные сведения о работе с исходным кодом AOSP см. в разделе Инициализация клиента репо .

Создайте код

Вы можете создать код с помощью Android Studio или из командной строки.

Android-студия

Чтобы создать код в 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
Сопутствующее устройство 29
номеронабиратель 31
СМИ 30
Мессенджер (СМС) 30
AOSP-хост 29

Интеграция предварительной сборки в образ системы

Если версия платформы Android поддерживается приложением (см. таблицу в предыдущем разделе), вы можете добавить APK в образ системы. Однако этапы интеграции различаются в зависимости от версии платформы Android.

Андроид 13 и выше

Android 13 и более поздних версий не включает исходный код для отдельных приложений, но вы можете включить готовый APK в сборку платформы для таких случаев использования, как тестирование на соответствие требованиям CDD или подготовка привилегированных приложений. Чтобы указать APK, используйте правило 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 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