Mengintegrasikan aplikasi yang tidak dipaketkan

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

Melihat kode

Untuk memeriksa kode yang di-unbundle, 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 Melakukan inisialisasi Klien Repo.

Mem-build kode

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

Android Studio

Untuk mem-build 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 dikandungnya. 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

API level minimum yang diperlukan

Setiap aplikasi yang di-unbundle berfungsi di platform Android dengan versi yang sama dengan 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 prebuild 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 dipaketkan, tetapi Anda dapat menyertakan APK bawaan dalam build platform untuk kasus penggunaan seperti pengujian kepatuhan CDD atau penyediaan aplikasi dengan hak istimewa. Untuk menentukan APK, gunakan aturan Soong android_app_import, seperti yang ditunjukkan pada 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 lama menyertakan kode sumber untuk aplikasi yang tidak dipaketkan, tetapi Anda masih dapat menentukan APK bawaan untuk disertakan. Karena default Soong adalah memberikan prioritas ke kode sumber daripada yang telah di-build sebelumnya, Anda harus menetapkan tanda 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 dipaketkan

Aplikasi/Distribusi Sistem
yang ditandatangani dan tidak dipaketkan dengan hak istimewa
Berhak istimewa yang tidak dipaketkan
tidak bertanda tangan sistem
Tidak dipaketkan
tidak perlu berada di partisi sistem
Aplikasi - Kalender X
Aplikasi - CompanionDeviceSupport X
Aplikasi - Pemilih X
Aplikasi - Host AOSP X
Aplikasi - Media X
Aplikasi - Messenger (SMS) X
Memperbarui distribusi OTA OTA atau Google Play OTA atau Google Play