در این صفحه نحوه ادغام برنامههای دستهبندی نشده توضیح داده شده است. برنامههایی که شامل Dialer، Media، Car UI Library و SMS میشوند، برنامههای جداشده در نظر گرفته میشوند. این برنامهها از پلتفرم اندروید جدا شدهاند و شامل منطق دریافت دادهها از برنامه همراه تلفن و UX در سمت ماشین، از جمله تنظیمات ارتباط و ثبت ویژگی است.
فایلهای APK ساختهشده از کد جداشده با چندین نسخه از پلتفرم کار میکنند.
کد را بررسی کنید
برای بررسی کد جدا شده:
- موارد زیر را اجرا کنید:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -cq -j4
- برای کسب اطلاعات بیشتر در مورد کار با کد منبع AOSP، به Initializing a Repo Client مراجعه کنید.
کد را بسازید
اندروید استودیو
برای ساخت کد در اندروید استودیو:
- در Android Studio، این فایل ساخت را وارد کنید:
packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
- حتما Gradle JDK را در اندروید استودیو روی حداقل نسخه 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 و بالاتر
کد جدا شده از پلتفرم اندروید 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 و پایین تر
تا زمانی که نسخه پلتفرم اندروید توسط برنامه پشتیبانی می شود (جدول بالا را ببینید)، APK را می توان به آن تصویر سیستم اضافه کرد. با این حال، اکثر برنامههای جداشده دارای نسخههای قبلی کد منبع هستند که در پلتفرمهای پایینتر از Android 13 گنجانده شده است. بهطور پیشفرض، Soong به کد منبع بر یک کد از پیش ساخته شده اولویت میدهد. بنابراین، لازم است که پرچم prefer
در داخل قانون android_app_import
روی 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, }
برنامهها بر اساس نوع جداشده فهرست شدهاند
برنامه | ممتاز تفکیک شده | تفکیک شده (نیازی نیست روی پارتیشن سیستم باشد) | |
---|---|---|---|
سیستم امضا شد | امضای غیر سیستمی | ||
تقویم | X | ||
CompanionDevice | X | ||
شماره گیر | X | ||
میزبان AOSP | X | ||
رسانه ها | X | ||
اس ام اس | X | ||
به روز رسانی توزیع | OTA | OTA یا Google Play | OTA یا Google Play |