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:
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 dikandungnya. 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
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 |