Android Açık Kaynak Projesi (AOSP) Automotive App Host, Araba Uygulaması Kitaplığı'nın bir parçasıdır. 3. taraf geliştiriciler tarafından Android Automotive'e yönelik uygulamaları etkinleştirmek için kullanılır. Uygulama Barındırıcısı, 3. taraf araç uygulamalarının, OEM tarzı kullanıcı arayüzü (UI) bileşenlerini kendi adına oluşturmasına olanak tanıyan uygulama.
Üçüncü taraf uygulamalarını çalıştırmak için hem üçüncü taraf uygulaması hem de AOSP Automotive App Host olmalıdır. yüklendi:
- Automotive App Host, bir dizi kullanıcı arayüzü şablonu ve bileşeni ile 3. taraf uygulamaları sağlar araçlar için optimize edilmiştir. Buna kullanılabilirlik ve güvenlik gibi özellikler dahildir.
- OEM'ler bu kullanıcı arayüzü şablonlarını ve bileşenlerini biçimlendirebilir.
- Sonuç nedir? 3. taraf uygulamaları, bilgi-eğlence sistemi kullanıyor.
Bu sayfada, AOSP Automotive App Host'un Gradle projesinden nasıl oluşturulacağı açıklanmaktadır.
ub-automotive
şubesi ve ardından AOSP Automotive App Host'un arabaya nasıl entegre edileceği
belirler.
Kodu inceleyin
Grup halinde olmayan kodu kontrol etmek 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 -j4
. AOSP kaynak koduyla çalışma hakkında daha fazla bilgi edinmek için Repo istemcisini başlatın.
- Android Studio'yu yükleyin.
AOSP ana makine APK'sını oluşturma
ub-automotive
uygulamasına göz atın ve Gradle projesini şurada açın:packages/apps/Car/Templates/Host
.- Projeyi Android SDK ile yapılandırmak için projenizin
local.properties
dosyası yükleyin. Yolu Android'de Android SDK Ayarları bölümünde bulabilirsiniz Stüdyo'yu seçin.sdk.dir=${path_to_android_sdk_location}
- Ana makine APK'sını tipik bir Gradle projesi olarak oluşturun. Örneğin, şunu çalıştırın:
gradle
komut:./gradlew :app:assembleDebug
APK dosyası şu konumdadır:
packages/apps/Car/Templates/Host/app/build/outputs/apk/debug/app-debug.apk
.
AOSP ana makinesini yerleştirme
- Aşağıdaki içeriği içerecek yeni bir
Android.mk
dosyası oluşturun:LOCAL_PATH := $(my-dir) ################## Start of AOSPHost target ################## include $(CLEAR_VARS) LOCAL_MODULE := CarAOSPHost LOCAL_LICENSE_KINDS := legacy_notice LOCAL_LICENSE_CONDITIONS := notice LOCAL_MODULE_OWNER := google LOCAL_SRC_FILES := AOSPHost.apk LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_TAGS := optional LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_BUILT_MODULE_STEM := package.apk LOCAL_CERTIFICATE := PRESIGNED LOCAL_PRIVILEGED_MODULE := true LOCAL_PRODUCT_MODULE := true LOCAL_DEX_PREOPT := false include $(BUILD_PREBUILT)
app-debug.apk
öğesinin adınıAOSPHost.apk
olarak değiştirin ve APK'yıAndroid.mk
ile aynı klasör.CarAOSPHost
modülünü hedeflerinizePRODUCT_PACKAGES
olarak ekleyin:PRODUCT_PACKAGES += \ CarAOSPHost \
İzin yapılandırmasını ekleme
- Aşağıdakileri içerecek
com.android.car.templates.host.xml
adlı bir dosya oluşturun:<permissions> <!-- Rename the package to com.android.car.templates.host --> <privapp-permissions package="com.android.car.templates.host"> <!-- To be able to display activities in the cluster --> <permission name="android.car.permission.CAR_DISPLAY_IN_CLUSTER" /> <!-- To be able to show navigation state (turn by turn directions) in the cluster.--> <permission name="android.car.permission.CAR_NAVIGATION_MANAGER" /> <!-- To be considered a system-approved host --> <permission name="android.car.permission.TEMPLATE_RENDERER" /> </privapp-permissions> <!-- Declare support for templated applications. --> <feature name="android.software.car.templates_host" /> </permissions>
- Hedefinizde, yapılandırma dosyasını hedeflerinize ekleyin:
PRODUCT_COPY_FILES += \ <the file root>/com.android.car.templates.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.car.templates.host.xml
.
Hedefi oluşturma
Hedefi oluşturduğunuzda ana makine yüklenir ve izin verilir:
… android.car.permission.CAR_NAVIGATION_MANAGER: granted=true android.car.permission.CAR_DISPLAY_IN_CLUSTER: granted=true android.car.permission.TEMPLATE_RENDERER: granted=true ….
Entegrasyonu test etme
Örnekleri derleyip yüklemek için şu GitHub projesine bakın: araba-ornekler/araba_uygulama_kitapligi.