راهنمای ادغام

در این صفحه نحوه ادغام برنامه‌های دسته‌بندی نشده توضیح داده شده است. برنامه‌هایی که شامل Dialer، Media، Car UI Library و SMS می‌شوند، برنامه‌های جداشده در نظر گرفته می‌شوند. این برنامه‌ها از پلتفرم اندروید جدا شده‌اند و شامل منطق دریافت داده‌ها از برنامه همراه تلفن و UX در سمت ماشین، از جمله تنظیمات ارتباط و ثبت ویژگی است.

فایل‌های APK ساخته‌شده از کد جداشده با چندین نسخه از پلتفرم کار می‌کنند.

کد را بررسی کنید

برای بررسی کد جدا شده:

  1. موارد زیر را اجرا کنید:
    repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
    repo sync -cq -j4
    
  2. برای کسب اطلاعات بیشتر در مورد کار با کد منبع AOSP، به Initializing a Repo Client مراجعه کنید.

کد را بسازید

اندروید استودیو

برای ساخت کد در اندروید استودیو:

  1. در Android Studio، این فایل ساخت را وارد کنید:
    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
  2. حتما Gradle JDK را در اندروید استودیو روی حداقل نسخه 11 تنظیم کنید:


    شکل 1. نسخه 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

حداقل سطوح 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