অ্যান্ড্রয়েড 8.0 এবং উচ্চতর, একটি নতুন, আরও মডুলার আর্কিটেকচার গ্রহণ করার জন্য নিম্ন-স্তরের স্তরগুলি পুনরায় লেখা হয়৷ অ্যান্ড্রয়েড 8.0 এবং উচ্চতর ডিভাইসগুলিকে অবশ্যই HIDL-এ লেখা HAL সমর্থন করতে হবে, নীচে তালিকাভুক্ত কয়েকটি ব্যতিক্রম সহ। এই HALগুলি বাইন্ডারাইজড বা পাসথ্রু হতে পারে। Android 11-এ, AIDL-এ লেখা HALগুলিও সমর্থিত। সমস্ত AIDL HAL বাইন্ডারাইজড।
Binderized HALs . HALগুলি HAL ইন্টারফেস ডেফিনিশন ল্যাঙ্গুয়েজ (HIDL) বা Android ইন্টারফেস ডেফিনিশন ল্যাঙ্গুয়েজ (AIDL) তে প্রকাশ করা হয়েছে। এই HALগুলি Android-এর পূর্ববর্তী সংস্করণগুলিতে ব্যবহৃত প্রচলিত এবং উত্তরাধিকারী উভয় HALগুলিকে প্রতিস্থাপন করে৷ বাইন্ডারাইজড এইচএএল-এ, অ্যান্ড্রয়েড ফ্রেমওয়ার্ক এবং এইচএএল বাইন্ডার ইন্টার-প্রসেস কমিউনিকেশন (আইপিসি) কল ব্যবহার করে একে অপরের সাথে যোগাযোগ করে। অ্যান্ড্রয়েড 8.0 বা তার পরবর্তী সংস্করণের সাথে লঞ্চ হওয়া সমস্ত ডিভাইসকে শুধুমাত্র বাইন্ডারাইজড HAL সমর্থন করতে হবে।
পাসথ্রু HALs । একটি HIDL- মোড়ানো প্রচলিত বা লিগ্যাসি HALগুলি এই HALগুলি বিদ্যমান HALগুলিকে মোড়ানো এবং বাইন্ডারাইজড এবং একই-প্রক্রিয়া (পাসথ্রু) মোডে HAL-কে পরিবেশন করতে পারে। Android 8.0 তে আপগ্রেড করা ডিভাইসগুলি পাসথ্রু HAL ব্যবহার করতে পারে৷
HAL মোড প্রয়োজনীয়তা
যন্ত্র | পাসথ্রু | বাইন্ডারাইজড |
---|---|---|
Android 8.0 এর সাথে লঞ্চ করুন | পাসথ্রুতে তালিকাভুক্ত এইচএএলগুলি অবশ্যই পাসথ্রু হতে হবে। | অন্যান্য সমস্ত HALগুলি বাইন্ডারাইজড (HAL সহ যেগুলি বিক্রেতা এক্সটেনশন)। |
Android 8.0 এ আপগ্রেড করুন | পাসথ্রুতে তালিকাভুক্ত এইচএএলগুলি অবশ্যই পাসথ্রু হতে হবে। | বাইন্ডারাইজড HAL-এ তালিকাভুক্ত HALগুলি অবশ্যই বাইন্ডারাইজড হতে হবে৷ |
বিক্রেতা ইমেজ দ্বারা প্রদত্ত অন্যান্য সমস্ত HALs পাসথ্রু বা বাইন্ডারাইজড মোডে হতে পারে। একটি সম্পূর্ণরূপে Treble-সঙ্গতিপূর্ণ ডিভাইসে, এই সব অবশ্যই binderized করা আবশ্যক. |
Binderized HALs
অ্যান্ড্রয়েড লঞ্চ ডিভাইস বা আপগ্রেড ডিভাইস নির্বিশেষে সমস্ত অ্যান্ড্রয়েড ডিভাইসে বাইন্ডারাইজ করার জন্য নিম্নলিখিত HALS-এর প্রয়োজন:
-
android.hardware.biometrics.fingerprint@2.1
।fingerprintd
প্রতিস্থাপন করে যা Android 8.0 এ আর নেই। -
android.hardware.configstore@1.0
। Android 8.0 এ নতুন। -
android.hardware.dumpstate@1.0
। এই HAL দ্বারা প্রদত্ত মূল ইন্টারফেসটি শিম করা যায়নি এবং পরিবর্তন করা হয়েছে। এই কারণে, একটি প্রদত্ত ডিভাইসেdumpstate_board
পুনরায় প্রয়োগ করতে হবে (এটি একটি ঐচ্ছিক HAL)। -
android.hardware.graphics.allocator@2.0
। অ্যান্ড্রয়েড 8.0 এ বাইন্ডারাইজ করা প্রয়োজন তাই ফাইল বর্ণনাকারীকে বিশ্বস্ত এবং অবিশ্বস্ত প্রক্রিয়াগুলির মধ্যে ভাগ করতে হবে না৷ -
android.hardware.radio@1.0
।rild
দ্বারা প্রদত্ত ইন্টারফেস প্রতিস্থাপন করে যা তার নিজস্ব প্রক্রিয়ায় থাকে। -
android.hardware.usb@1.0
। Android 8.0 এ নতুন। -
android.hardware.wifi@1.0
। Android 8.0-এ নতুন,system_server
লোড হওয়া উত্তরাধিকারী Wi-Fi HAL লাইব্রেরি প্রতিস্থাপন করে -
android.hardware.wifi.supplicant@1.0
বিদ্যমানwpa_supplicant
প্রক্রিয়ার উপর একটি HIDL ইন্টারফেস।
পাসথ্রু HALs
অ্যান্ড্রয়েডের জন্য সমস্ত অ্যান্ড্রয়েড ডিভাইসে পাসথ্রু মোডে থাকা নিম্নলিখিত HALগুলি প্রয়োজন, সেগুলি লঞ্চ ডিভাইস বা আপগ্রেড ডিভাইস যাই হোক না কেন:
-
android.hardware.graphics.mapper@1.0
। এটি যে প্রক্রিয়ায় থাকে তার মেমরি ম্যাপ করে। -
android.hardware.renderscript@1.0
। একই প্রক্রিয়ায় আইটেম পাস করে (openGL
এর সমতুল্য)।
উপরে তালিকাভুক্ত নয় এমন সমস্ত HALগুলিকে লঞ্চ ডিভাইসের জন্য বাইন্ডারাইজ করা আবশ্যক৷
একই-প্রক্রিয়া HALs
সেম-প্রসেস HALs (SP-HALs) সবসময় একই প্রক্রিয়ায় খোলা থাকে যেখানে তারা ব্যবহার করা হয়। এর মধ্যে HIDL-এ প্রকাশ করা হয়নি এমন সমস্ত HAL এবং সেইসাথে কিছু যেগুলি বাইন্ডারাইজড নয়। SP-HAL সেটের সদস্যতা শুধুমাত্র Google দ্বারা নিয়ন্ত্রিত হয়, কোন ব্যতিক্রম ছাড়াই।
এসপি-এইচএএল-এর মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:
-
openGL
-
Vulkan
-
android.hidl.memory@1.0
(অ্যান্ড্রয়েড সিস্টেম দ্বারা সরবরাহ করা, সর্বদা পাসথ্রু) -
android.hardware.graphics.mapper@1.0
android.hardware.renderscript@1.0