Entegrasyon kılavuzu

Bu sayfada, grup halinde olmayan uygulamaların nasıl entegre edileceği özetlenir. Çevirici, Medya, Araba Kullanıcı Arayüzü içeren uygulamalar Kitaplık ve SMS, paket halinde olmayan uygulamalar olarak kabul edilir. Bu uygulamalar Android platformundan ayrıldı Ayrıca, telefon tamamlayıcı uygulamasından veri alma mantığını ve araba tarafındaki kullanıcı deneyimini sunma ve özellik kaydı ayarlarını da içerir.

Paketlenmemiş koddan oluşturulan APK'lar, platformun çeşitli sürümleriyle çalışır.

Kodu inceleyin

Grup halinde olmayan kodu kontrol etmek için:

  1. Şu komutu ç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 Repo İstemcisini başlatma

Kodu oluşturma

Android Studio

Android Studio'da kodu 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. Sürüm 11.
  3. İstediğiniz APK'ları oluşturun.

Komut satırı

Komut satırından kod oluşturmak için:

  1. Android SDK konumunu aşağıdaki iki yöntemden birini kullanarak ayarlayın:
    • packages/apps/Car/libs/aaos-apps-gradle-project/local.properties ve ardından içerdiği sdk.dir özelliğini ayarlayın. Android Studio bunu yapabilir otomatik olarak oluşturulur. Örneğin, şunu kullanın: sdk.dir=/Users/MY-USERNAME/Library/Android/sdk

      veya
    • ANDROID_SDK_ROOT ortam değişkenini Android SDK'sı.
  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

Pakete dahil edilmemiş her uygulama, kendi sürümüne eşit veya ondan daha büyük bir sürüme sahip Android platformlarında çalışır. minSdkVersion Aşağıdaki tabloda, her uygulamanın desteklediği minimum API sürümü listelenmiştir:

Uygulama Minimum API düzeyi
Takvim 29
Arabanın kullanıcı arayüzü kitaplığı 29
TamamlayıcıCihaz 29
Dialer 31
Medya 30
SMS 30
AOSP Barındırıcısı 29

Önceden derlemeyi sistem görüntüsüne entegre etme

Android 13 ve sonraki sürümlerdeki resimler

Gruplandırılmamış kod Android 13 platformundan kaldırılır. Bu nedenle, platform derlemelerine önceden oluşturulmuş APK'lar eklemek aşağıdakiler için gerekli olabilir:

  • CDD uygunluk testi
  • Özel uygulamaların temel hazırlığını yapma

Bu, android_app_import Shortg kuralı:

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

Uygulama, Android platform sürümünü desteklediği sürece (yukarıdaki tabloya bakın) APK, eklemeniz gerekir. Ancak, gruplandırılmamış uygulamaların çoğu kaynak kodun önceki sürümlerine sahiptir Android 13'ten önceki platformlara dahil edilir. Shortg, varsayılan olarak kaynak koduna öncelik verilmesini sağlar. Bu nedenle, android_app_import kuralında true öğesine prefer işareti:

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,
    }

Gruplandırılmamış türe göre listelenen uygulamalar

Uygulama Ayrıcalıklı gruplanmamış Gruplandırılmamış
(Sistem bölümünde olması gerekmez)
Sistem tarafından imzalanmış Sistem tarafından imzalanmış değil
Takvim X
TamamlayıcıCihaz X
Dialer X
AOSP Ana Makinesi X
Medya X
SMS X
Dağıtımı güncelle OTA OTA veya Google Play OTA veya Google Play