इस पेज पर, बंडल न किए गए ऐप्लिकेशन को इंटिग्रेट करने का तरीका बताया गया है. ऐसे ऐप्लिकेशन जिनमें डायलर, मीडिया, कार यूज़र इंटरफ़ेस (यूआई) शामिल हैं लाइब्रेरी और एसएमएस को बंडल नहीं किए गए ऐप्लिकेशन माना जाता है. इन ऐप्लिकेशन को Android प्लैटफ़ॉर्म से अनबंडल कर दिया गया है साथ ही, फ़ोन के साथी ऐप्लिकेशन और कार के उपयोगकर्ता अनुभव से डेटा पाने के लिए, तर्क शामिल करने होंगे. इसमें असोसिएशन और सुविधा के रजिस्ट्रेशन की सेटिंग भी शामिल हैं.
बंडल न किए गए कोड से बने APK, प्लैटफ़ॉर्म के कई वर्शन के साथ काम करते हैं.
कोड की जांच करें
बंडल न किया गया कोड देखने के लिए:
- इन्हें चलाएं:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- एओएसपी सोर्स कोड के साथ काम करने के बारे में ज़्यादा जानने के लिए, यहां जाएं रेपो क्लाइंट शुरू करना.
कोड बनाएं
Android Studio
Android Studio में कोड बनाने के लिए:
- Android Studio में, इस बिल्ड फ़ाइल को इंपोर्ट करें:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- पक्का करें कि Android Studio में Gradle JDK को कम से कम वर्शन 11 पर सेट किया गया हो:
पहली इमेज. वर्शन 11. - अपनी पसंद के APK बनाएं.
कमांड लाइन
कमांड लाइन से कोड बनाने के लिए:
- Android SDK की जगह की जानकारी को इनमें से किसी एक तरीके का इस्तेमाल करके सेट करें:
packages/apps/Car/libs/aaos-apps-gradle-project/local.properties
बनाएं और इसके बाद, इसमें शामिलsdk.dir
प्रॉपर्टी को सेट करें. Android Studio यह काम कर सकता है में अपने-आप सिंक हो जाता है. उदाहरण के लिए,sdk.dir=/Users/MY-USERNAME/Library/Android/sdk
.
याANDROID_SDK_ROOT
एनवायरमेंट वैरिएबल को पाथ के साथ सेट करें Android SDK टूल.
- कोई कमांड प्रॉम्प्ट या शेल विंडो खोलें.
packages/apps/Car/libs/aaos-apps-gradle-project
पर जाएं- नीचे दिया गया निर्देश चलाएं:
./gradlew assemble
कम से कम ज़रूरी एपीआई लेवल
बंडल न किया गया हर ऐप्लिकेशन Android प्लैटफ़ॉर्म पर काम करता है. इसके लिए, ऐप्लिकेशन का वर्शन
minSdkVersion
. नीचे दी गई टेबल में, हर ऐप्लिकेशन के साथ काम करने वाले कम से कम एपीआई वर्शन की सूची दी गई है:
ऐप्लिकेशन | कम से कम एपीआई लेवल |
---|---|
Calendar | 29 |
कार की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी | 29 |
कंपैनियन डिवाइस | 29 |
Dialer | 31 |
मीडिया | 30 |
SMS | 30 |
AOSP होस्ट | 29 |
प्रीबिल्ड को सिस्टम इमेज से इंटिग्रेट करना
Android 13 और उसके बाद के वर्शन की इमेज
बंडल न किए गए कोड को Android 13 प्लैटफ़ॉर्म से हटा दिया गया है. इसलिए, प्लैटफ़ॉर्म बिल्ड में पहले से बने APK जोड़ना इन कामों के लिए ज़रूरी हो सकता है:
- सीडीडी के नियमों के पालन की जांच
- खास अधिकार वाले ऐप्लिकेशन प्रॉविज़निंग
यह काम करने के लिए,
android_app_import
सूंग नियम:
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 और उससे पहले वाले वर्शन के लिए
जब तक ऐप्लिकेशन, Android प्लैटफ़ॉर्म वर्शन पर काम करता है, तब तक APK ये काम कर सकता है (ऊपर दी गई टेबल देखें)
उस सिस्टम इमेज में जोड़ दिया जाएगा. हालांकि, बंडल न किए गए ज़्यादातर ऐप्लिकेशन में सोर्स कोड के पिछले वर्शन होते हैं
Android 13 से पहले के वर्शन में शामिल नहीं है. डिफ़ॉल्ट रूप से, सूंग आपको
पहले से बने सोर्स के बजाय, सोर्स कोड को प्राथमिकता दें. इसलिए, यह ज़रूरी है कि
android_app_import
नियम में true
के लिए prefer
फ़्लैग:
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, }
ऐप्लिकेशन को अनबंडल किए गए टाइप के हिसाब से सूची में शामिल किया गया है
ऐप्लिकेशन | संरक्षित डिवाइस को बंडल से नहीं हटाया गया | बंडल नहीं किया गया (सिस्टम विभाजन पर नहीं होना चाहिए) |
|
---|---|---|---|
सिस्टम साइन इन किया हुआ | साइन किया हुआ सिस्टम नहीं है | ||
Calendar | X | ||
कंपैनियन डिवाइस | X | ||
Dialer | X | ||
AOSP होस्ट | X | ||
मीडिया | X | ||
SMS | X | ||
डिस्ट्रिब्यूशन अपडेट करें | OTA | OTA या Google Play | OTA या Google Play |