Paketten çıkarılan uygulamaları entegre etme

Ç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:

  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'nın 11 veya sonraki bir sürüme ayarlandığından emin olun:

    Sürüm 11

    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:

  1. 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ği sdk.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.

  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

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