Bu sayfada, paketlenmemiş uygulamaların nasıl entegre edileceği açıklanmaktadır. Çevirici, Medya, Araç Kullanıcı Arayüzü Kitaplığı ve SMS içeren uygulamalar, paketlenmemiş uygulamalar olarak kabul edilir. Bu uygulamalar Android platformundan ayrıştırılmıştır ve ilişkilendirme ve özellik kaydı ayarları da dahil olmak üzere telefon yardımcı uygulamasından ve araç tarafındaki UX'ten veri alma mantığını içerir.
Ayrıştırılmış koddan oluşturulan APK'lar, platformun çeşitli sürümleriyle çalışır.
Kodu inceleyin
Paketlenmemiş kodu kontrol etmek için:
- Aşağıdakini ç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 bkz. Repo İstemcisini Başlatma .
Kodu oluşturun
Android Stüdyosu
Kodu Android Studio'da 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. Versiyon 11. - İstediğiniz APK'ları oluşturun.
Komut satırı
Kodu komut satırından oluşturmak için:
- Android SDK konumunu şu iki yoldan biriyle ayarlayın:
-
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
oluşturun ve ardından içerdiğisdk.dir
özelliğini ayarlayın. Android Studio, bir projeyi açarken bunu otomatik olarak yapabilir. Örneğin,sdk.dir=/Users/MY-USERNAME/Library/Android/sdk
kullanın.
veya -
ANDROID_SDK_ROOT
ortam değişkenini Android SDK'nın yolu ile ayarlayın.
-
- Bir komut istemi veya kabuk penceresi açın.
-
packages/apps/Car/libs/aaos-apps-gradle-project
adresine gidin. - Aşağıdaki komutu çalıştırın:
./gradlew assemble
Gerekli minimum API düzeyleri
Paketlenmemiş her uygulama, minSdkVersion
sürümüne eşit veya daha büyük bir sürüme sahip Android platformlarında çalışır. Aşağıdaki tabloda her uygulamanın desteklediği minimum API sürümü listelenmektedir:
Uygulama | Minimum API düzeyi |
---|---|
Takvim | 29 |
Araç kullanıcı arayüzü kitaplığı | 29 |
Yardımcı Cihaz | 29 |
Çevirici | 31 |
Medya | 30 |
SMS | 30 |
AOSP Ana Bilgisayarı | 29 |
Bir ön yapıyı sistem görüntüsüne entegre etme
Android 13 ve üzeri görseller
Ayrıştırılmış kod Android 13 platformundan kaldırıldı. Bu nedenle, önceden oluşturulmuş APK'ların platform derlemelerine eklenmesi aşağıdakiler için gerekli olabilir:
- CDD uyumluluk testi
- Ayrıcalıklı uygulamaların sağlanması
Bu, android_app_import
Soong kuralıyla elde edilir:
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 altı
Android platformu sürümü uygulama tarafından desteklendiği sürece (yukarıdaki tabloya bakın), APK bu sistem görüntüsüne eklenebilir. Bununla birlikte, ayrıştırılmış uygulamaların çoğu, Android 13'ten daha düşük platformlarda bulunan kaynak kodunun önceki sürümlerine sahiptir. Varsayılan olarak Soong, önceden oluşturulmuş bir uygulama yerine kaynak koduna öncelik verir. Bu nedenle, android_app_import
kuralında prefer
bayrağını true
olarak ayarlamak gerekir:
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, }
Ayrıştırılmış türe göre listelenen uygulamalar
Uygulama | Ayrıcalıklı ayrıştırılmış | ayrıştırılmış (Sistem bölümünde olması gerekmez) | |
---|---|---|---|
Sistem imzalandı | Sistem imzalı değil | ||
Takvim | X | ||
Yardımcı Cihaz | X | ||
Çevirici | X | ||
AOSP Ana Bilgisayarı | X | ||
Medya | X | ||
SMS | X | ||
Dağıtımı güncelle | OTA | OTA veya Google Play | OTA veya Google Play |