Çevirici, Medya, Araba Kullanıcı Arayüzü Kitaplığı ve SMS'i içeren uygulamalar paketlenmemiş uygulamalar (Android platformundan ayrılmış) olarak kabul edilir. Bu tür uygulamalar, telefondaki yardımcı uygulamadan veri alma mantığını ve araba tarafındaki kullanıcı deneyimini (ilişkilendirme ve özellik kaydı ayarları dahil) içerir. Paketlenmemiş koddan oluşturulan APK'lar, platformun çeşitli sürümleriyle çalışır.
Kodu inceleyin
Paketlenmemiş kodu incelemek için aşağıdaki komutu çalıştırın:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-masterrepo sync -cq -j4
AOSP kaynak koduyla çalışma hakkında daha fazla bilgi edinmek için Repo istemcisini başlatma başlıklı makaleyi inceleyin.
Kodu oluşturma
Kodu Android Studio'yu kullanarak veya komut satırından oluşturabilirsiniz.
Android Studio
Android Studio'da kodu oluşturmak için:
Android Studio'da aşağıdaki derleme dosyasını içe aktarın:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradleGradle JDK'nın 11 veya sonraki bir sürüme ayarlandığından emin olun:
Şekil 1. Android Studio'da Gradle JDK'yı 11. sürüme ayarlayın.
Komut satırı
Kodu komut satırından oluşturmak için:
Aşağıdaki yöntemlerden birini kullanarak Android SDK konumunu ayarlayın:
packages/apps/Car/libs/aaos-apps-gradle-project/local.propertiesoluşturun ve ardından içerdiğisdk.dirözelliğini ayarlayın. Android Studio, bir projeyi açarken bu işlemi otomatik olarak yapabilir. Örneğin,sdk.dir=/Users/MY-USERNAME/Library/Android/sdkkullanın.veya
ANDROID_SDK_ROOTortam değişkenini Android SDK'sının yoluyla ayarlayın.
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
Her bağımsız uygulama, minSdkVersion sürümüne eşit veya daha yeni bir Android platformda çalışır. Aşağıdaki tabloda, her uygulamanın desteklediği minimum API sürümü listelenmiştir:
| Uygulama | Minimum API düzeyi |
|---|---|
| Takvim | 29 |
| Araba kullanıcı arayüzü kitaplığı | 29 |
| CompanionDevice | 29 |
| Dialer | 31 |
| Medya | 30 |
| Messenger (SMS) | 30 |
| AOSP Host | 29 |
Önceden oluşturulmuş bir öğeyi sistem görüntüsüne entegre etme
Android platform sürümü uygulama tarafından destekleniyorsa (önceki bölümdeki tabloya bakın) APK'yı sistem görüntüsüne ekleyebilirsiniz. Ancak entegrasyon adımları Android platformu sürümlerine göre farklılık gösterir.
Android 13 ve sonraki sürümler
Android 13 ve sonraki sürümlerde, paketlenmemiş uygulamaların kaynak kodu bulunmaz. Ancak CDD uygunluk testi veya ayrıcalıklı uygulamaları sağlama gibi kullanım alanları için platform derlemesine önceden oluşturulmuş bir APK ekleyebilirsiniz. APK'yı belirtmek için aşağıdaki örnekte gösterildiği gibi android_app_import Soong kuralını kullanın:
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
Android 12 ve önceki sürümlerde, paketlenmemiş uygulamaların kaynak kodu bulunur ancak yine de dahil edilecek önceden oluşturulmuş bir APK belirtebilirsiniz. Soong'un varsayılan olarak kaynak koduna önceden oluşturulmuş bir koda göre öncelik vermesi nedeniyle, aşağıdaki örnekte gösterildiği gibi prefer işaretinin android_app_import kuralı içinde true olarak ayarlanması 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
}
Paket halinde sunulmayan uygulama ayrıntıları
| Uygulama | Ayrıcalıklı, paketlenmemiş sistem imzalı |
Ayrıcalıklı, paketlenmemiş sistem dışı imzalı |
Paketinden çıkarılmış uygulamaların sistem bölümünde olması gerekmez |
|---|---|---|---|
| Güncellemelerin dağıtımı | OTA | OTA veya Google Play | OTA veya Google Play |
| AOSP Host | X | ||
| Takvim | X | ||
| CompanionDeviceSupport | X | ||
| Kontrol merkezi (çoklu ekran) | X | ||
| Çevirici | X | ||
| Medya | X | ||
| Messenger (SMS) | X | ||
| Hassas uygulama kilidi | X |