অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (AOSP) অটোমোটিভ অ্যাপ হোস্ট কার অ্যাপ লাইব্রেরির একটি অংশ যা তৃতীয় পক্ষের (3P) বিকাশকারীরা Android Automotive-এর জন্য অ্যাপগুলিকে সক্ষম করতে ব্যবহার করে। অ্যাপ হোস্ট হল একটি সিস্টেম অ্যাপ যা 3P কার অ্যাপগুলিকে তার পক্ষ থেকে OEM-স্টাইলযুক্ত ইউজার ইন্টারফেস (UI) উপাদান রেন্ডার করতে দেয়।
3P অ্যাপ চালানোর জন্য, 3P অ্যাপ এবং AOSP অটোমোটিভ অ্যাপ হোস্ট উভয়কেই ইনস্টল করতে হবে:
- স্বয়ংচালিত অ্যাপ হোস্ট ব্যবহারযোগ্যতা এবং নিরাপত্তার মতো ক্ষমতা সহ যানবাহনের জন্য অপ্টিমাইজ করা UI টেমপ্লেট এবং উপাদানগুলির একটি সেট সহ 3P অ্যাপ সরবরাহ করে।
- OEM গুলি এই UI টেমপ্লেট এবং উপাদানগুলিকে স্টাইল করতে পারে৷
- ফলাফল? 3P অ্যাপগুলি OEM-এর ইনফোটেইনমেন্ট সিস্টেমে দৃশ্যত ভালভাবে একত্রিত।
এই পৃষ্ঠাটি ব্যাখ্যা করে যে কীভাবে ub-automotive
শাখায় গ্রেডল প্রকল্প থেকে AOSP অটোমোটিভ অ্যাপ হোস্ট তৈরি করা যায় এবং তারপরে কীভাবে AOSP অটোমোটিভ অ্যাপ হোস্টকে গাড়ির লক্ষ্যে সংহত করা যায়।
কোড চেক আউট
আনবান্ডেড কোড চেক করতে:
- নিম্নলিখিত কমান্ড চালান:
repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master repo sync -j4
AOSP সোর্স কোডের সাথে কাজ করার বিষয়ে আরও জানতে, একটি রেপো ক্লায়েন্ট ইনিশিয়ালাইজ করুন দেখুন।
- অ্যান্ড্রয়েড স্টুডিও ইনস্টল করুন।
AOSP হোস্ট APK তৈরি করুন
-
ub-automotive
দেখুন এবং তারপরpackages/apps/Car/Templates/Host
অধীনে গ্রেডল প্রকল্পটি খুলুন। - Android SDK দিয়ে প্রজেক্ট কনফিগার করতে, আপনার প্রোজেক্টের
local.properties
ফাইল কনফিগার করুন। আপনি Android স্টুডিওতে Android SDK সেটিংসের অধীনে পথটি খুঁজে পেতে পারেন।sdk.dir=${path_to_android_sdk_location}
- একটি সাধারণ গ্রেডল প্রকল্প হিসাবে হোস্ট APK তৈরি করুন। উদাহরণস্বরূপ,
gradle
কমান্ড চালান:./gradlew :app:assembleDebug
APK ফাইলটি এখানে অবস্থিত:
packages/apps/Car/Templates/Host/app/build/outputs/apk/debug/app-debug.apk
AOSP হোস্ট এম্বেড করুন
- নিম্নলিখিত বিষয়বস্তু অন্তর্ভুক্ত করার জন্য একটি নতুন
Android.mk
ফাইল তৈরি করুন:LOCAL_PATH := $(my-dir) ################## Start of AOSPHost target ################## include $(CLEAR_VARS) LOCAL_MODULE := CarAOSPHost LOCAL_LICENSE_KINDS := legacy_notice LOCAL_LICENSE_CONDITIONS := notice LOCAL_MODULE_OWNER := google LOCAL_SRC_FILES := AOSPHost.apk LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_TAGS := optional LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_BUILT_MODULE_STEM := package.apk LOCAL_CERTIFICATE := PRESIGNED LOCAL_PRIVILEGED_MODULE := true LOCAL_PRODUCT_MODULE := true LOCAL_DEX_PREOPT := false include $(BUILD_PREBUILT)
app-debug.apk
নাম পরিবর্তন করেAOSPHost.apk
করুন এবং APKটিকেAndroid.mk
এর মতো একই ফোল্ডারে রাখুন।-
PRODUCT_PACKAGES
হিসাবে আপনার লক্ষ্যগুলিতেCarAOSPHost
মডিউল যুক্ত করুন:PRODUCT_PACKAGES += \ CarAOSPHost \
অনুমতি কনফিগার যোগ করুন
- নিম্নলিখিতগুলি ধারণ করতে
com.android.car.templates.host.xml
নামে একটি ফাইল তৈরি করুন:<permissions> <!-- Rename the package to com.android.car.templates.host --> <privapp-permissions package="com.android.car.templates.host"> <!-- To be able to display activities in the cluster --> <permission name="android.car.permission.CAR_DISPLAY_IN_CLUSTER" /> <!-- To be able to show navigation state (turn by turn directions) in the cluster.--> <permission name="android.car.permission.CAR_NAVIGATION_MANAGER" /> <!-- To be considered a system-approved host --> <permission name="android.car.permission.TEMPLATE_RENDERER" /> </privapp-permissions> <!-- Declare support for templated applications. --> <feature name="android.software.car.templates_host" /> </permissions>
- আপনার লক্ষ্যে, আপনার লক্ষ্যগুলিতে কনফিগার ফাইল যোগ করুন:
PRODUCT_COPY_FILES += \ <the file root>/com.android.car.templates.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.car.templates.host.xml
লক্ষ্য তৈরি করুন
আপনি যখন লক্ষ্য তৈরি করেন, হোস্ট ইনস্টল করা হয় এবং অনুমতি দেওয়া হয়:
… android.car.permission.CAR_NAVIGATION_MANAGER: granted=true android.car.permission.CAR_DISPLAY_IN_CLUSTER: granted=true android.car.permission.TEMPLATE_RENDERER: granted=true …
ইন্টিগ্রেশন পরীক্ষা করুন
নমুনা তৈরি এবং ইনস্টল করতে, এই GitHub প্রকল্প, car-samples/car_app_library দেখুন।