Android ओपन सोर्स प्रोजेक्ट (AOSP) Automotive ऐप्लिकेशन होस्ट, कार ऐप्लिकेशन लाइब्रेरी का हिस्सा है तीसरे पक्ष (3P) के डेवलपर इसका इस्तेमाल, Android Automotive के लिए ऐप्लिकेशन चालू करने के लिए करते हैं. ऐप्लिकेशन होस्ट एक सिस्टम है ऐसा ऐप्लिकेशन जो 3P कार ऐप्लिकेशन को अपनी ओर से OEM-स्टाइल वाले यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट रेंडर करने की अनुमति देता है.
तीसरे पक्ष के ऐप्लिकेशन चलाने के लिए, 3P ऐप्लिकेशन और AOSP Automotive App होस्ट, दोनों की वैल्यू होनी चाहिए इंस्टॉल किया गया:
- Automotive ऐप्लिकेशन होस्ट, 3P (तीसरे पक्ष का) ऐप्लिकेशन उपलब्ध कराता है. इसमें यूज़र इंटरफ़ेस (यूआई) टेंप्लेट और कॉम्पोनेंट का एक सेट शामिल होता है इसे वाहनों के लिए ऑप्टिमाइज़ किया गया है. इसमें उपयोगिता और सुरक्षा जैसी सुविधाएं शामिल हैं.
- OEM, इन यूज़र इंटरफ़ेस (यूआई) टेंप्लेट और कॉम्पोनेंट को स्टाइल कर सकते हैं.
- नतीजा? तीसरे पक्ष के ऐप्लिकेशन ओईएम का सूचना और मनोरंजन की सुविधा देने वाला डिवाइस.
यह पेज, Gradle प्रोजेक्ट से एओएसपी ऑटोमोटिव ऐप्लिकेशन होस्ट जनरेट करने का तरीका बताता है
ub-automotive
की ब्रांच और फिर AOSP Automotive App होस्ट को कार में इंटिग्रेट करने का तरीका
टारगेट के लिए.
कोड की जांच करें
बंडल न किया गया कोड देखने के लिए:
- नीचे दिया गया निर्देश चलाएं:
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैrepo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
repo sync -j4 एओएसपी सोर्स कोड के साथ काम करने के बारे में ज़्यादा जानने के लिए, यहां जाएं रेपो क्लाइंट शुरू करना.
- Android Studio इंस्टॉल करें.
AOSP होस्ट APK बनाएं
ub-automotive
को देखें और इसके बाद Gradle प्रोजेक्ट खोलेंpackages/apps/Car/Templates/Host
.- Android SDK के साथ प्रोजेक्ट को कॉन्फ़िगर करने के लिए, अपने प्रोजेक्ट के
local.properties
फ़ाइल. Android में Android SDK की सेटिंग में जाकर पाथ देखा जा सकता है स्टूडियो.sdk.dir=${path_to_android_sdk_location}
- होस्ट APK को सामान्य Gradle प्रोजेक्ट के तौर पर बनाएं. उदाहरण के लिए,
gradle
चलाएं आदेश:./gradlew :app:assembleDebug
APK फ़ाइल यहां मौजूद होती है:
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैpackages/apps/Car/Templates/Host/app/build/outputs/apk/debug/app-debug.apk
एओएसपी होस्ट को जोड़ें
- इस कॉन्टेंट को शामिल करने के लिए, एक नई
Android.mk
फ़ाइल बनाएं: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
का नाम बदलकरAOSPHost.apk
करें और APK कोAndroid.mk
की तरह फ़ोल्डर में भी रखा गया है.CarAOSPHost
मॉड्यूल को अपने टारगेट मेंPRODUCT_PACKAGES
के तौर पर जोड़ें:PRODUCT_PACKAGES += \
CarAOSPHost \
अनुमतियों वाला कॉन्फ़िगरेशन जोड़ें
- नीचे दी गई चीज़ों को शामिल करने के लिए
com.android.car.templates.host.xml
नाम की एक फ़ाइल बनाएं:<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> - अपने टारगेट में, अपने टारगेट में कॉन्फ़िगरेशन फ़ाइल जोड़ें:
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैPRODUCT_COPY_FILES += \
<the file root>/com.android.car.templates.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.car.templates.host.xml
टारगेट सेट करें
जब आप टारगेट बनाते हैं, तब होस्ट इंस्टॉल हो जाता है और अनुमति दी जाती है:
…
android.car.permission.CAR_NAVIGATION_MANAGER: granted=true
android.car.permission.CAR_DISPLAY_IN_CLUSTER: granted=true
android.car.permission.TEMPLATE_RENDERER: granted=true
…
इंटिग्रेशन की जांच करना
सैंपल बनाने और इंस्टॉल करने के लिए, यह GitHub प्रोजेक्ट देखें, car-सैंपल/कार_ऐप्लिकेशन_लाइब्रेरी.