Entegrasyon kılavuzu

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:

  1. Aşağıdakini çalıştırın:
    repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
    repo sync -cq -j4
    
  2. 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:

  1. Android Studio'da şu derleme dosyasını içe aktarın:
    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
  2. Android Studio'da Gradle JDK'yı en az Sürüm 11'e ayarladığınızdan emin olun:


    Şekil 1. Versiyon 11.
  3. İstediğiniz APK'ları oluşturun.

Komut satırı

Kodu komut satırından oluşturmak için:

  1. 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ği sdk.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.
  2. Bir komut istemi veya kabuk penceresi açın.
  3. packages/apps/Car/libs/aaos-apps-gradle-project adresine gidin.
  4. 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