Paketten çıkarılan uygulamaları entegre etme

Telefon, Medya, Araba Kullanıcı Arayüzü Kitaplığı ve SMS içeren uygulamalar paketten çıkarılmış uygulamalar olarak kabul edilir (yani Android platformundan paketten çıkarılmıştır). Bu tür uygulamalar, telefondaki tamamlayıcı uygulamadan veri alma mantığını ve ilişkilendirme ile özellik kaydı ayarları da dahil olmak üzere araba tarafındaki kullanıcı deneyimini içerir. Paketlenmemiş koddan oluşturulan APK'lar, platformun çeşitli sürümleriyle çalışır.

Kodu kontrol edin

Paketten çıkarılan kodu kontrol etmek için aşağıdakileri ç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 istemcisini başlatma başlıklı makaleyi inceleyin.

Kodu derleyin

Kodu Android Studio'yu kullanarak veya komut satırından derleyebilirsiniz.

Android Studio

Android Studio'da kodu derlemek için:

  1. Android Studio'da aşağıdaki derleme dosyasını içe aktarın:

    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
    
  2. Gradle JDK'nin 11 veya sonraki bir sürüme ayarlandığından emin olun:

    11. sürüm

    Şekil 1. Android Studio'da Gradle JDK'yi 11 sürümüne ayarlayın.

Komut satırı

Kodu komut satırından derlemek için:

  1. Android SDK'sının konumunu aşağıdaki yöntemlerden birini kullanarak ayarlayın:

    • packages/apps/Car/libs/aaos-apps-gradle-project/local.properties oluşturun ve ardından içerdiği sdk.dir mülkünü ayarlayın. Android Studio, bir projeyi açarken bunu otomatik olarak yapabilir. Örneğin, sdk.dir=/Users/MY-USERNAME/Library/Android/sdk değerini kullanın.

      veya

    • ANDROID_SDK_ROOT ortam değişkenini Android SDK'sının yolu olarak ayarlayın.

  2. Bir komut istemi veya kabuk penceresi açın.

  3. Şuraya git: packages/apps/Car/libs/aaos-apps-gradle-project.

  4. Aşağıdaki komutu çalıştırın:

    ./gradlew assemble

Gerekli minimum API düzeyleri

Paketten ayrılmış her uygulama, minSdkVersion sürümüne eşit veya bu sürümden daha yeni bir Android sürümünde ç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 Barındırıcısı 29

Önceden derlenmiş bir sistemi bir sistem görüntüsüne entegre etme

Android platform sürümü uygulama tarafından destekliyorsa (önceki bölümdeki tabloya bakın) APK'yı sistem görüntüsüne ekleyebilirsiniz. Ancak entegrasyon adımları Android platform sürümleri arasında farklılık gösterir.

Android 13 ve sonraki sürümler

Android 13 ve sonraki sürümler, paketlenmemiş uygulamaların kaynak kodunu içermez ancak CDD uygunluk testi veya ayrıcalıklı uygulamalara erişim sağlama gibi kullanım alanları için platform derlemesine önceden derlenmiş 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ümler, paketlenmemiş uygulamaların kaynak kodunu içerir ancak yine de dahil edilecek önceden derlenmiş bir APK belirtebilirsiniz. Soong'un varsayılan olarak önceliği önceden derlenmiş kod yerine kaynak koda verdiğinden, aşağıdaki örnekte gösterildiği gibi prefer işaretini android_app_import kuralı içinde 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
    }

Paketten çıkarılmış uygulama ayrıntıları

Uygulama/Dağıtım Ayrıcalıklı, paketten ayrı
sistem imzalanmamış
Ayrıcalıklı, paketlenmemiş
sistem dışı, imzalı
Paketten çıkarılan
sistem bölümünde olması gerekmez
Uygulama: Takvim X
Uygulama - CompanionDeviceSupport X
Uygulama - Arama Aracı X
Uygulama - AOSP Barındırıcı X
Uygulama - Medya X
Uygulama: Mesajlaşma (SMS) X
Dağıtımı güncelleme OTA OTA veya Google Play OTA veya Google Play