আনবান্ডেড অ্যাপ একত্রিত করুন

যেসব অ্যাপে ডায়ালার, মিডিয়া, কার UI লাইব্রেরি এবং SMS থাকে, সেগুলোকে আনবান্ডেলড অ্যাপ হিসেবে বিবেচনা করা হয় (অর্থাৎ, এগুলো অ্যান্ড্রয়েড প্ল্যাটফর্ম থেকে আনবান্ডেলড করা হয়)। এই ধরনের অ্যাপে ফোন কম্প্যানিয়ন অ্যাপ এবং গাড়ির পাশের UX থেকে ডেটা গ্রহণের লজিক অন্তর্ভুক্ত থাকে, যার মধ্যে অ্যাসোসিয়েশন এবং ফিচার এনরোলমেন্টের সেটিংস অন্তর্ভুক্ত থাকে। আনবান্ডেলড কোড থেকে তৈরি APK প্ল্যাটফর্মের বিভিন্ন সংস্করণের সাথে কাজ করে।

কোডটি দেখুন।

আনবান্ডেলড কোডটি পরীক্ষা করতে, নিম্নলিখিতটি চালান:

repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
repo sync -cq -j4

AOSP সোর্স কোড নিয়ে কাজ করার বিষয়ে আরও জানতে, Repo Client Initialize দেখুন।

কোডটি তৈরি করুন

আপনি অ্যান্ড্রয়েড স্টুডিও ব্যবহার করে অথবা কমান্ড লাইন থেকে কোডটি তৈরি করতে পারেন।

অ্যান্ড্রয়েড স্টুডিও

অ্যান্ড্রয়েড স্টুডিওতে কোড তৈরি করতে:

  1. অ্যান্ড্রয়েড স্টুডিওতে, নিম্নলিখিত বিল্ড ফাইলটি আমদানি করুন:

    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
    
  2. নিশ্চিত করুন যে Gradle JDK সংস্করণ ১১ বা তার উচ্চতর সংস্করণে সেট করা আছে:

    সংস্করণ ১১

    চিত্র ১. অ্যান্ড্রয়েড স্টুডিওতে গ্র্যাডেল জেডিকে সংস্করণ ১১ তে সেট করুন।

কমান্ড লাইন

কমান্ড লাইন থেকে কোড তৈরি করতে:

  1. নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করে Android SDK অবস্থান সেট করুন:

    • packages/apps/Car/libs/aaos-apps-gradle-project/local.properties তৈরি করুন এবং তারপরে এতে থাকা sdk.dir প্রপার্টিটি সেট করুন। একটি প্রজেক্ট খোলার সময় Android স্টুডিও স্বয়ংক্রিয়ভাবে এটি করতে পারে। উদাহরণস্বরূপ, sdk.dir=/Users/MY-USERNAME/Library/Android/sdk ব্যবহার করুন।

      অথবা

    • অ্যান্ড্রয়েড SDK-এর পাথের সাথে ANDROID_SDK_ROOT এনভায়রনমেন্ট ভেরিয়েবল সেট করুন।

  2. একটি কমান্ড প্রম্পট অথবা একটি শেল উইন্ডো খুলুন।

  3. packages/apps/Car/libs/aaos-apps-gradle-project এ যান।

  4. নিম্নলিখিত কমান্ডটি চালান:

    ./gradlew assemble

ন্যূনতম প্রয়োজনীয় API স্তর

প্রতিটি আনবান্ডেলড অ্যাপ minSdkVersion এর সমান বা তার চেয়ে বড় সংস্করণ সহ Android প্ল্যাটফর্মগুলিতে কাজ করে। নিম্নলিখিত টেবিলে প্রতিটি অ্যাপ দ্বারা সমর্থিত ন্যূনতম API সংস্করণ তালিকাভুক্ত করা হয়েছে:

অ্যাপ ন্যূনতম API স্তর
ক্যালেন্ডার ২৯
গাড়ির UI লাইব্রেরি ২৯
কম্প্যানিয়ন ডিভাইস ২৯
ডায়ালার ৩১
মিডিয়া ৩০
মেসেঞ্জার (এসএমএস) ৩০
AOSP হোস্ট ২৯

একটি সিস্টেম ইমেজের সাথে একটি প্রিবিল্ড ইন্টিগ্রেট করুন

যদি অ্যাপটি অ্যান্ড্রয়েড প্ল্যাটফর্ম সংস্করণটি সমর্থিত হয় (পূর্ববর্তী বিভাগের টেবিলটি দেখুন), তাহলে আপনি সিস্টেম ইমেজে APK যোগ করতে পারেন। তবে, অ্যান্ড্রয়েড প্ল্যাটফর্ম সংস্করণগুলির মধ্যে ইন্টিগ্রেশনের ধাপগুলি ভিন্ন।

অ্যান্ড্রয়েড ১৩ এবং উচ্চতর

অ্যান্ড্রয়েড ১৩ এবং তার পরবর্তী সংস্করণে আনবান্ডেলড অ্যাপের জন্য সোর্স কোড অন্তর্ভুক্ত নেই, তবে আপনি CDD কমপ্লায়েন্স টেস্টিং বা বিশেষাধিকারপ্রাপ্ত অ্যাপের প্রভিশনিং এর মতো ব্যবহারের জন্য প্ল্যাটফর্ম বিল্ডে একটি প্রি-বিল্ট APK অন্তর্ভুক্ত করতে পারেন। 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 ডিফল্টভাবে প্রি-বিল্টের চেয়ে সোর্স কোডকে প্রাধান্য দেওয়া হয়, তাই নিম্নলিখিত উদাহরণে দেখানো android_app_import নিয়মের মধ্যে prefer ফ্ল্যাগটিকে 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
    }

আনবান্ডেলড অ্যাপের বিবরণ

অ্যাপ সুবিধাপ্রাপ্ত আনবান্ডেলড
সিস্টেম স্বাক্ষরিত
সুবিধাপ্রাপ্ত আনবান্ডেলড
নন-সিস্টেম স্বাক্ষরিত
আনবান্ডেলড
সিস্টেম পার্টিশনে থাকার দরকার নেই
আপডেট বিতরণ ওটিএ ওটিএ অথবা গুগল প্লে ওটিএ অথবা গুগল প্লে
AOSP হোস্ট এক্স
ক্যালেন্ডার এক্স
CompanionDeviceSupport সম্পর্কে এক্স
নিয়ন্ত্রণ কেন্দ্র (মাল্টি-ডিসপ্লে) এক্স
ডায়ালার এক্স
মিডিয়া এক্স
মেসেঞ্জার (এসএমএস) এক্স
সংবেদনশীল অ্যাপ লক এক্স