توضح هذه الصفحة كيفية دمج التطبيقات غير المجمعة. تعتبر التطبيقات التي تتضمن Dialer وMedia ومكتبة Car UI والرسائل النصية القصيرة تطبيقات غير مجمعة. يتم فصل هذه التطبيقات عن نظام 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، قم باستيراد ملف البناء هذا:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- تأكد من ضبط Gradle JDK في Android Studio على الإصدار 11 على الأقل:
الشكل 1. الإصدار 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
الحد الأدنى من مستويات API المطلوبة
يعمل كل تطبيق غير مجمع على أنظمة Android الأساسية بإصدار مساوٍ أو أكبر من minSdkVersion
. يسرد الجدول التالي الحد الأدنى لإصدار واجهة برمجة التطبيقات (API) الذي يدعمه كل تطبيق:
برنامج | الحد الأدنى لمستوى API |
---|---|
تقويم | 29 |
مكتبة واجهة المستخدم للسيارة | 29 |
CompanionDevice | 29 |
المسجل | 31 |
وسائط | 30 |
رسالة قصيرة | 30 |
مضيف AOSP | 29 |
دمج البناء المسبق في صورة النظام
صور أندرويد 13 والإصدارات الأحدث
تتم إزالة الرمز غير المجمع من نظام Android 13. لذلك، قد يكون من الضروري إضافة ملفات APK التي تم إنشاؤها مسبقًا إلى إصدارات النظام الأساسي من أجل:
- اختبار الامتثال CDD
- توفير التطبيقات المميزة
يتم تحقيق ذلك باستخدام قاعدة 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"], }
أندرويد 12 والإصدارات الأقدم
طالما أن إصدار نظام Android الأساسي مدعوم من التطبيق (انظر الجدول أعلاه)، يمكن إضافة APK إلى صورة النظام تلك. ومع ذلك، تحتوي معظم التطبيقات غير المجمعة على إصدارات سابقة من التعليمات البرمجية المصدر مضمنة في الأنظمة الأساسية الأقل من Android 13. افتراضيًا، يعطي Soong الأسبقية للتعليمات البرمجية المصدر على تلك التي تم إنشاؤها مسبقًا. لذلك، من الضروري تعيين علامة prefer
على true
داخل قاعدة android_app_import
:
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, }
التطبيقات المدرجة حسب النوع غير المجمع
برنامج | امتياز غير المجمعة | غير مجمعة (لا يلزم أن يكون على قسم النظام) | |
---|---|---|---|
وقع النظام | وقعت غير النظام | ||
تقويم | X | ||
CompanionDevice | X | ||
المسجل | X | ||
مضيف AOSP | X | ||
وسائط | X | ||
رسالة قصيرة | X | ||
تحديث التوزيع | عبر الهواء | أوتا أو جوجل بلاي | أوتا أو جوجل بلاي |