ادغام برنامه های جدا نشده

برنامه‌هایی که شامل 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 یا از خط فرمان بسازید.

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

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

  1. در Android Studio، فایل ساخت زیر را وارد کنید:

    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
    
  2. اطمینان حاصل کنید که Gradle JDK روی نسخه 11 یا بالاتر تنظیم شده است:

    نسخه 11

    شکل 1. Gradle JDK را روی نسخه 11 در Android Studio تنظیم کنید.

خط فرمان

برای ساخت کد از خط فرمان:

  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

یک پیش ساخت را در یک تصویر سیستم ادغام کنید

اگر نسخه پلتفرم اندروید توسط برنامه پشتیبانی می شود (جدول قسمت قبل را ببینید)، می توانید 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