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:
Di Android Studio, impor file build berikut:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
Pastikan JDK Gradle disetel ke Versi 11 atau yang lebih tinggi:
Gambar 1. Tetapkan JDK Gradle ke Versi 11 di Android Studio.
Command line
Untuk mem-build kode dari command line:
Tetapkan lokasi Android SDK menggunakan salah satu metode berikut:
Buat
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
, lalu tetapkan propertisdk.dir
yang ada di dalamnya. Android Studio dapat melakukannya secara otomatis saat membuka project. Misalnya, gunakansdk.dir=/Users/MY-USERNAME/Library/Android/sdk
.atau
Tetapkan variabel lingkungan
ANDROID_SDK_ROOT
dengan jalur ke Android SDK.
Buka command prompt atau jendela shell.
Buka
packages/apps/Car/libs/aaos-apps-gradle-project
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 |