Mengintegrasikan aplikasi yang di-unbundle

Aplikasi yang menyertakan Telepon, Media, Library UI Mobil, dan SMS dianggap sebagai aplikasi yang terpisah (yaitu, aplikasi tersebut terpisah dari platform Android). Aplikasi tersebut mencakup logika untuk menerima data dari aplikasi pendamping ponsel dan UX di sisi mobil, termasuk setelan untuk pendaftaran fitur dan asosiasi. APK yang dibuat dari kode yang tidak digabungkan berfungsi dengan beberapa versi platform.

Melihat kode

Untuk memeriksa kode yang tidak digabungkan, jalankan perintah berikut:

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

Untuk mempelajari lebih lanjut cara menggunakan kode sumber AOSP, lihat Menginisialisasi Klien Repo.

Bangun kode

Anda dapat mem-build kode menggunakan Android Studio atau dari command line.

Android Studio

Untuk membuat kode di Android Studio:

  1. Di Android Studio, impor file build berikut:

    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
    
  2. Pastikan JDK Gradle disetel ke Versi 11 atau yang lebih tinggi:

    Versi 11

    Gambar 1. Tetapkan JDK Gradle ke Versi 11 di Android Studio.

Command line

Untuk mem-build kode dari command line:

  1. Tetapkan lokasi Android SDK menggunakan salah satu metode berikut:

    • Buat packages/apps/Car/libs/aaos-apps-gradle-project/local.properties, lalu tetapkan properti sdk.dir yang ada di dalamnya. Android Studio dapat melakukannya secara otomatis saat membuka project. Misalnya, gunakan sdk.dir=/Users/MY-USERNAME/Library/Android/sdk.

      atau

    • Tetapkan variabel lingkungan ANDROID_SDK_ROOT dengan jalur ke Android SDK.

  2. Buka command prompt atau jendela shell.

  3. Buka packages/apps/Car/libs/aaos-apps-gradle-project

  4. Jalankan perintah berikut:

    ./gradlew assemble

Level API minimum yang diperlukan

Setiap aplikasi yang tidak digabungkan berfungsi di platform Android dengan versi yang sama atau lebih tinggi dari minSdkVersion-nya. Tabel berikut mencantumkan versi API minimum yang didukung oleh setiap aplikasi:

Aplikasi Tingkat API minimum
Kalender 29
Library UI Mobil 29
CompanionDevice 29
Dialer 31
Media 30
Messenger (SMS) 30
Host AOSP 29

Mengintegrasikan build awal ke dalam image sistem

Jika versi platform Android didukung oleh aplikasi (lihat tabel di bagian sebelumnya), Anda dapat menambahkan APK ke image sistem. Namun, langkah-langkah integrasi berbeda antara versi platform Android.

Android 13 dan yang lebih baru

Android 13 dan yang lebih tinggi tidak menyertakan kode sumber untuk aplikasi yang tidak tergabung, tetapi Anda dapat menyertakan APK bawaan dalam build platform untuk kasus penggunaan seperti pengujian kepatuhan CDD atau penyediaan aplikasi istimewa. Untuk menentukan APK, gunakan aturan Soong android_app_import, seperti yang ditunjukkan dalam contoh berikut:

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 dan yang lebih lama

Android 12 dan yang lebih rendah menyertakan kode sumber untuk aplikasi yang tidak digabungkan, tetapi Anda tetap dapat menentukan APK yang telah dibuat sebelumnya untuk disertakan. Karena default Soong adalah memberikan prioritas pada kode sumber daripada prebuilt, Anda perlu menetapkan flag prefer ke true di dalam aturan android_app_import, seperti yang ditunjukkan dalam contoh berikut:

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
    }

Detail aplikasi yang tidak digabungkan

Aplikasi/Distribusi Hak istimewa yang tidak digabungkan
sistem bertanda tangan
Privileged unbundled
non-system signed

Tidak perlu berada di partisi sistem
Aplikasi - Kalender X
Aplikasi - CompanionDeviceSupport X
Aplikasi - Dialer X
Aplikasi - Host AOSP X
Aplikasi - Media X
Aplikasi - Messenger (SMS) X
Memperbarui distribusi OTA OTA atau Google Play OTA atau Google Play