डायलर, मीडिया, कार की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी, और एसएमएस जैसे ऐप्लिकेशन को अलग-अलग बंडल में मौजूद ऐप्लिकेशन माना जाता है. इसका मतलब है कि ये ऐप्लिकेशन, Android प्लैटफ़ॉर्म से अलग-अलग बंडल में मौजूद होते हैं. ऐसे ऐप्लिकेशन में, फ़ोन के साथ काम करने वाले ऐप्लिकेशन और कार के यूज़र इंटरफ़ेस (यूएक्स) से डेटा पाने का लॉजिक शामिल होता है. इसमें, असोसिएशन और सुविधा के लिए रजिस्टर करने की सेटिंग भी शामिल होती हैं. अनबंड किए गए कोड से बनाए गए APK, प्लैटफ़ॉर्म के कई वर्शन के साथ काम करते हैं.
कोड देखें
अनबंड किए गए कोड की जांच करने के लिए, यह तरीका अपनाएं:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
repo sync -cq -j4
AOSP सोर्स कोड के साथ काम करने के बारे में ज़्यादा जानने के लिए, Repo क्लाइंट को शुरू करना लेख पढ़ें.
कोड बनाना
Android Studio या कमांड लाइन का इस्तेमाल करके, कोड बनाया जा सकता है.
Android Studio
Android Studio में कोड बनाने के लिए:
Android Studio में, यह बिल्ड फ़ाइल इंपोर्ट करें:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
पक्का करें कि Gradle JDK, 11 या इसके बाद के वर्शन पर सेट हो:
पहली इमेज. Android Studio में, Gradle JDK को वर्शन 11 पर सेट करें.
कमांड लाइन
कमांड लाइन से कोड बनाने के लिए:
इनमें से किसी एक तरीके का इस्तेमाल करके, 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 |
CompanionDevice | 29 |
Dialer | 31 |
मीडिया | 30 |
Messenger (एसएमएस) | 30 |
AOSP होस्ट | 29 |
पहले से बने वर्शन को सिस्टम इमेज में इंटिग्रेट करना
अगर ऐप्लिकेशन, Android प्लैटफ़ॉर्म के उस वर्शन पर काम करता है जिसका इस्तेमाल डिवाइस में किया जा रहा है (पिछले सेक्शन में टेबल देखें), तो सिस्टम इमेज में APK जोड़ा जा सकता है. हालांकि, Android प्लैटफ़ॉर्म के वर्शन के हिसाब से, इंटिग्रेशन के चरण अलग-अलग होते हैं.
Android 13 और उसके बाद के वर्शन
Android 13 और उसके बाद के वर्शन में, अनबंड किए गए ऐप्लिकेशन का सोर्स कोड शामिल नहीं होता. हालांकि, सीडीडी के अनुपालन की जांच करने या खास सुविधाओं वाले ऐप्लिकेशन को उपलब्ध कराने जैसे इस्तेमाल के उदाहरणों के लिए, प्लैटफ़ॉर्म बिल्ड में पहले से बना APK शामिल किया जा सकता है. APK की जानकारी देने के लिए, android_app_import
Soong नियम का इस्तेमाल करें, जैसा कि इस उदाहरण में दिखाया गया है:
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 12 और उससे पहले के वर्शन में, अनबंड किए गए ऐप्लिकेशन का सोर्स कोड शामिल होता है. हालांकि, अब भी किसी पहले से बने APK को शामिल करने के लिए कहा जा सकता है. Soong डिफ़ॉल्ट रूप से, पहले से बने कोड के बजाय सोर्स कोड को प्राथमिकता देता है. इसलिए, android_app_import
नियम में prefer
फ़्लैग को true
पर सेट करना ज़रूरी है, जैसा कि यहां दिए गए उदाहरण में दिखाया गया है:
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 | ||
ऐप्लिकेशन - CompanionDeviceSupport | X | ||
ऐप्लिकेशन - डायलर | X | ||
ऐप्लिकेशन - AOSP होस्ट | X | ||
ऐप्लिकेशन - मीडिया | X | ||
ऐप्लिकेशन - मैसेंजर (एसएमएस) | X | ||
डिस्ट्रिब्यूशन अपडेट करना | OTA | ओटीए या Google Play | ओटीए या Google Play |