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

برنامه‌هایی که شامل شماره‌گیر، رسانه، کتابخانه رابط کاربری خودرو و پیامک می‌شوند ، برنامه‌های غیربسته‌ای در نظر گرفته می‌شوند (یعنی از پلتفرم اندروید جدا شده‌اند). چنین برنامه‌هایی شامل منطق دریافت داده‌ها از برنامه همراه تلفن و 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 مراجعه کنید.

کد را بسازید

شما می‌توانید کد را با استفاده از اندروید استودیو یا از طریق خط فرمان بسازید.

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

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

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

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

    نسخه ۱۱

    شکل ۱. تنظیم Gradle JDK روی نسخه ۱۱ در اندروید استودیو

خط فرمان

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

  1. با استفاده از یکی از روش‌های زیر، مکان SDK اندروید را تنظیم کنید:

    • packages/apps/Car/libs/aaos-apps-gradle-project/local.properties ایجاد کنید و سپس ویژگی sdk.dir موجود در آن را تنظیم کنید. اندروید استودیو می‌تواند این کار را به طور خودکار هنگام باز کردن یک پروژه انجام دهد. برای مثال، sdk.dir=/Users/MY-USERNAME/Library/Android/sdk استفاده کنید.

      یا

    • متغیر محیطی ANDROID_SDK_ROOT را با مسیر SDK اندروید تنظیم کنید.

  2. یک خط فرمان یا یک پنجره shell باز کنید.

  3. به packages/apps/Car/libs/aaos-apps-gradle-project بروید.

  4. دستور زیر را اجرا کنید:

    ./gradlew assemble

حداقل سطوح API مورد نیاز

هر برنامه‌ی جدا شده روی پلتفرم‌های اندروید با نسخه‌ای برابر یا بزرگتر از minSdkVersion خود کار می‌کند. جدول زیر حداقل نسخه API پشتیبانی شده توسط هر برنامه را نشان می‌دهد:

برنامه حداقل سطح API
تقویم ۲۹
کتابخانه رابط کاربری خودرو ۲۹
دستگاه همراه ۲۹
شماره‌گیر ۳۱
رسانه ۳۰
مسنجر (پیامکی) ۳۰
میزبان AOSP ۲۹

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

اگر نسخه پلتفرم اندروید توسط برنامه پشتیبانی می‌شود (به جدول بخش قبل مراجعه کنید)، می‌توانید APK را به تصویر سیستم اضافه کنید. با این حال، مراحل ادغام بین نسخه‌های پلتفرم اندروید متفاوت است.

اندروید ۱۳ و بالاتر

اندروید ۱۳ و بالاتر شامل کد منبع برای برنامه‌های غیربسته‌بندی‌شده نمی‌شود، اما می‌توانید یک 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"],
}

اندروید ۱۲ و پایین‌تر

اندروید ۱۲ و پایین‌تر شامل کد منبع برای برنامه‌های غیربسته‌بندی شده است، اما همچنان می‌توانید یک 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
    }

جزئیات برنامه‌ی غیربسته‌ای

برنامه ممتاز، بدون دسته بندی
سیستم امضا شده
ممتاز، بدون دسته بندی
امضا نشده توسط سیستم
بدون دسته بندی
لازم نیست روی پارتیشن سیستم باشد
توزیع به‌روزرسانی اوتا OTA یا گوگل پلی OTA یا گوگل پلی
میزبان AOSP ایکس
تقویم ایکس
پشتیبانی دستگاه همراه ایکس
مرکز کنترل (چند نمایشگر) ایکس
شماره‌گیر ایکس
رسانه ایکس
مسنجر (پیامکی) ایکس
قفل برنامه حساس ایکس