Bu sayfada, grup halinde olmayan uygulamaların nasıl entegre edileceği özetlenir. Çevirici, Medya, Araba Kullanıcı Arayüzü içeren uygulamalar Kitaplık ve SMS, paket halinde olmayan uygulamalar olarak kabul edilir. Bu uygulamalar Android platformundan ayrıldı Ayrıca, telefon tamamlayıcı uygulamasından veri alma mantığını ve araba tarafındaki kullanıcı deneyimini sunma ve özellik kaydı ayarlarını da içerir.
Paketlenmemiş koddan oluşturulan APK'lar, platformun çeşitli sürümleriyle çalışır.
Kodu inceleyin
Grup halinde olmayan kodu kontrol etmek için:
- Şu komutu çalıştırın:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- AOSP kaynak koduyla çalışma hakkında daha fazla bilgi edinmek için Repo İstemcisini başlatma
Kodu oluşturma
Android Studio
Android Studio'da kodu oluşturmak için:
- Android Studio'da şu derleme dosyasını içe aktarın:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- Android Studio'da Gradle JDK'yı en az Sürüm 11'e ayarladığınızdan emin olun:
Şekil 1. Sürüm 11. - İstediğiniz APK'ları oluşturun.
Komut satırı
Komut satırından kod oluşturmak için:
- Android SDK konumunu aşağıdaki iki yöntemden birini kullanarak ayarlayın:
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
ve ardından içerdiğisdk.dir
özelliğini ayarlayın. Android Studio bunu yapabilir otomatik olarak oluşturulur. Örneğin, şunu kullanın:sdk.dir=/Users/MY-USERNAME/Library/Android/sdk
veyaANDROID_SDK_ROOT
ortam değişkenini Android SDK'sı.
- Bir komut istemi veya kabuk penceresi açın.
- Şuraya git:
packages/apps/Car/libs/aaos-apps-gradle-project
. - Aşağıdaki komutu çalıştırın:
./gradlew assemble
Gerekli minimum API düzeyleri
Pakete dahil edilmemiş her uygulama, kendi sürümüne eşit veya ondan daha büyük bir sürüme sahip Android platformlarında çalışır.
minSdkVersion
Aşağıdaki tabloda, her uygulamanın desteklediği minimum API sürümü listelenmiştir:
Uygulama | Minimum API düzeyi |
---|---|
Takvim | 29 |
Arabanın kullanıcı arayüzü kitaplığı | 29 |
TamamlayıcıCihaz | 29 |
Dialer | 31 |
Medya | 30 |
SMS | 30 |
AOSP Barındırıcısı | 29 |
Önceden derlemeyi sistem görüntüsüne entegre etme
Android 13 ve sonraki sürümlerdeki resimler
Gruplandırılmamış kod Android 13 platformundan kaldırılır. Bu nedenle, platform derlemelerine önceden oluşturulmuş APK'lar eklemek aşağıdakiler için gerekli olabilir:
- CDD uygunluk testi
- Özel uygulamaların temel hazırlığını yapma
Bu,
android_app_import
Shortg kuralı:
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 ve önceki sürümler
Uygulama, Android platform sürümünü desteklediği sürece (yukarıdaki tabloya bakın) APK,
eklemeniz gerekir. Ancak, gruplandırılmamış uygulamaların çoğu kaynak kodun önceki sürümlerine sahiptir
Android 13'ten önceki platformlara dahil edilir. Shortg, varsayılan olarak
kaynak koduna öncelik verilmesini sağlar. Bu nedenle,
android_app_import
kuralında true
öğesine prefer
işareti:
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, }
Gruplandırılmamış türe göre listelenen uygulamalar
Uygulama | Ayrıcalıklı gruplanmamış | Gruplandırılmamış (Sistem bölümünde olması gerekmez) |
|
---|---|---|---|
Sistem tarafından imzalanmış | Sistem tarafından imzalanmış değil | ||
Takvim | X | ||
TamamlayıcıCihaz | X | ||
Dialer | X | ||
AOSP Ana Makinesi | X | ||
Medya | X | ||
SMS | X | ||
Dağıtımı güncelle | OTA | OTA veya Google Play | OTA veya Google Play |