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 Repo istemcisini başlatma 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

    Şekil 1. 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'sı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 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 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 olarak kaynak koduna önceden oluşturulmuş bir koda göre öncelik vermesi nedeniyle, aşağıdaki örnekte gösterildiği gibi prefer işaretinin android_app_import kuralı içinde 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
    }

Paket halinde sunulmayan uygulama ayrıntıları

Uygulama 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
Güncellemelerin dağıtımı OTA OTA veya Google Play OTA veya Google Play
AOSP Host X
Takvim X
CompanionDeviceSupport X
Kontrol merkezi (çoklu ekran) X
Çevirici X
Medya X
Messenger (SMS) X
Hassas uygulama kilidi X