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