एंड्रॉइड ओपन सोर्स प्रोजेक्ट (एओएसपी) ऑटोमोटिव ऐप होस्ट तीसरे पक्ष (3पी) डेवलपर्स द्वारा एंड्रॉइड ऑटोमोटिव के लिए ऐप्स को सक्षम करने के लिए उपयोग की जाने वाली कार ऐप लाइब्रेरी का एक हिस्सा है। ऐप होस्ट एक सिस्टम ऐप है जो 3पी कार ऐप्स को अपनी ओर से ओईएम-स्टाइल यूजर इंटरफेस (यूआई) घटकों को प्रस्तुत करने की अनुमति देता है।
3P ऐप चलाने के लिए, 3P ऐप और AOSP ऑटोमोटिव ऐप होस्ट दोनों को इंस्टॉल करना होगा:
- ऑटोमोटिव ऐप होस्ट, प्रयोज्य और सुरक्षा जैसी क्षमताओं सहित, वाहनों के लिए अनुकूलित UI टेम्प्लेट और घटकों के एए सेट के साथ 3P ऐप्स प्रदान करता है।
- OEM इन UI टेम्प्लेट और घटकों को स्टाइल कर सकते हैं।
- परिणाम? 3पी ऐप्स ओईएम के इंफोटेनमेंट सिस्टम में दृष्टि से अच्छी तरह से एकीकृत हैं।
यह पृष्ठ बताता है कि ub-automotive
शाखा में ग्रैडल प्रोजेक्ट से AOSP ऑटोमोटिव ऐप होस्ट कैसे बनाया जाए और फिर AOSP ऑटोमोटिव ऐप होस्ट को कार लक्ष्यों में कैसे एकीकृत किया जाए।
कोड देखें
अनबंडल कोड को देखने के लिए:
- निम्न आदेश चलाएँ:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -j4
AOSP सोर्स कोड के साथ काम करने के बारे में अधिक जानने के लिए, रेपो क्लाइंट को इनिशियलाइज़ करना देखें।
- एंड्रॉइड स्टूडियो स्थापित करें।
एओएसपी होस्ट एपीके बनाएं
-
ub-automotive
देखें और फिरpackages/apps/Car/Templates/Host
के तहत ग्रैडल प्रोजेक्ट खोलें। - प्रोजेक्ट को Android SDK के साथ कॉन्फ़िगर करने के लिए, अपने प्रोजेक्ट की
local.properties
फ़ाइल को कॉन्फ़िगर करें। आप एंड्रॉइड स्टूडियो में एंड्रॉइड एसडीके सेटिंग्स के तहत पथ पा सकते हैं।sdk.dir=${path_to_android_sdk_location}
- एक विशिष्ट ग्रैडल प्रोजेक्ट के रूप में होस्ट एपीके बनाएं। उदाहरण के लिए,
gradle
कमांड चलाएँ:./gradlew :app:assembleDebug
एपीके फ़ाइल यहां स्थित है:
packages/apps/Car/Templates/Host/app/build/outputs/apk/debug/app-debug.apk
AOSP होस्ट एम्बेड करें
- निम्न सामग्री को शामिल करने के लिए एक नई
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 करAOSPHost.apk
और एपीके को उसी फोल्डर में डाल दें, जिसमेंAndroid.mk
है। - अपने लक्ष्य में
CarAOSPHost
मॉड्यूल कोPRODUCT_PACKAGES
के रूप में जोड़ें:PRODUCT_PACKAGES += \ CarAOSPHost \
अनुमतियाँ जोड़ें config
- निम्नलिखित को शामिल करने के लिए
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-samples/car_app_library ।