इंटिग्रेशन गाइड

इस पेज पर, बंडल न किए गए ऐप्लिकेशन को इंटिग्रेट करने का तरीका बताया गया है. ऐसे ऐप्लिकेशन जिनमें डायलर, मीडिया, कार यूज़र इंटरफ़ेस (यूआई) शामिल हैं लाइब्रेरी और एसएमएस को बंडल नहीं किए गए ऐप्लिकेशन माना जाता है. इन ऐप्लिकेशन को Android प्लैटफ़ॉर्म से अनबंडल कर दिया गया है साथ ही, फ़ोन के साथी ऐप्लिकेशन और कार के उपयोगकर्ता अनुभव से डेटा पाने के लिए, तर्क शामिल करने होंगे. इसमें असोसिएशन और सुविधा के रजिस्ट्रेशन की सेटिंग भी शामिल हैं.

बंडल न किए गए कोड से बने APK, प्लैटफ़ॉर्म के कई वर्शन के साथ काम करते हैं.

कोड की जांच करें

बंडल न किया गया कोड देखने के लिए:

  1. इन्हें चलाएं:
    repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
    repo sync -cq -j4
    
  2. एओएसपी सोर्स कोड के साथ काम करने के बारे में ज़्यादा जानने के लिए, यहां जाएं रेपो क्लाइंट शुरू करना.

कोड बनाएं

Android Studio

Android Studio में कोड बनाने के लिए:

  1. Android Studio में, इस बिल्ड फ़ाइल को इंपोर्ट करें:
    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
  2. पक्का करें कि Android Studio में Gradle JDK को कम से कम वर्शन 11 पर सेट किया गया हो:


    पहली इमेज. वर्शन 11.
  3. अपनी पसंद के APK बनाएं.

कमांड लाइन

कमांड लाइन से कोड बनाने के लिए:

  1. 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 टूल.
  2. कोई कमांड प्रॉम्प्ट या शेल विंडो खोलें.
  3. packages/apps/Car/libs/aaos-apps-gradle-project पर जाएं
  4. नीचे दिया गया निर्देश चलाएं:
    ./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