Ç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-master
repo sync -cq -j4
AOSP kaynak koduyla çalışma hakkında daha fazla bilgi edinmek için Initialize the Repo Client 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.gradle
Gradle JDK'nın 11 veya sonraki bir sürüme ayarlandığından emin olun:
1. şekil. 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.properties
oluş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/sdk
kullanın.veya
ANDROID_SDK_ROOT
ortam değişkenini Android SDK'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 uygulama tarafından desteklenen 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 ayarı, kaynak koduna önceden oluşturulmuş bir koda göre öncelik vermek olduğundan aşağıdaki örnekte gösterildiği gibi android_app_import
kuralı içinde prefer
işaretinin 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
}
Paketlenmemiş uygulama ayrıntıları
Uygulama/Dağıtım | 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 |
---|---|---|---|
Uygulama - Takvim | X | ||
Uygulama - CompanionDeviceSupport | X | ||
Uygulama - Telefon | X | ||
Uygulama - AOSP Host | X | ||
Uygulama - Medya | X | ||
Uygulama - Messenger (SMS) | X | ||
Dağıtımı güncelleme | OTA | OTA veya Google Play | OTA veya Google Play |