USB হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL) API সমর্থন করার জন্য, ডিভাইস নির্মাতাদের অবশ্যই সংশ্লিষ্ট USB HAL সংস্করণ বাস্তবায়ন করতে হবে। USB HAL API ব্যবহার করতে, একটি সিস্টেম-সুবিধাপ্রাপ্ত অ্যাপ প্রয়োজন।
USB HAL USB পোর্ট রিসেট API সমর্থন করে, যার জন্য USB HAL v2.0 প্রয়োজন এবং Android 13 এবং উচ্চতর সংস্করণে চলমান ডিভাইসগুলির জন্য উপলব্ধ৷ সংযুক্ত হোস্টের সাথে USB সংযোগ পুনরায় সেট করতে এই API ব্যবহার করুন৷
USB HAL এবং এর APIগুলি খুঁজুন
এপিআই সমর্থন করার জন্য ডিভাইস নির্মাতাদের অবশ্যই USB HAL প্রয়োগ করতে হবে।
USB HAL এর ডিফল্ট বাস্তবায়ন খুঁজে পেতে, নিম্নলিখিত পথগুলি ব্যবহার করুন:
সংস্করণ AIDL (সর্বশেষ):
<aosp>/hardware/interfaces/usb/gadget/1.2/default/
হার্ডওয়্যার ইন্টারফেস হেডার ফাইল খুঁজে পেতে, নিম্নলিখিত পথ ব্যবহার করুন:
সংস্করণ AIDL (সর্বশেষ):
<aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal
APIs খুঁজতে, AIDL হেডার ফাইলের অধীনে API গুলি সনাক্ত করতে নিম্নলিখিত পথটি ব্যবহার করুন। এই পথটিও এপিআই-এর জন্য অ্যান্ড্রয়েড ফ্রেমওয়ার্ক এন্ট্রি পয়েন্ট:
android.hardware.usb
:<aosp>/core/java/android/hardware/usb
USB HAL প্রয়োগ করুন
USB HAL API এর সাথে কাজ করতে, বাস্তবায়ন করুন:
সঠিক USB HAL সংস্করণ। কোনো সিস্টেম UI বাস্তবায়নের প্রয়োজন নেই।
লক্ষ্য ডিভাইস এবং হোস্টের মধ্যে USB সংযোগ পুনরায় সেট করে USB পোর্ট রিসেট API-এর জন্য USB AIDL HAL৷
USB HAL API আর্কিটেকচার বুঝুন
USB HAL API android.hardware.usb
প্যাকেজে তৈরি করা হয়েছে এবং ডিভাইসের সাথে ইন্টারঅ্যাক্ট করার জন্য USB HAL-এর সুবিধা দেয়। API-এর আর্কিটেকচার সম্পর্কে বিশদ বিবরণ নীচের চিত্রে দেওয়া হয়েছে।
USB পোর্ট রিসেট API
নিম্নলিখিত চিত্রটি USB HAL-এর বাস্তবায়ন সহ একটি কাঠামোর মধ্যে USB পোর্ট রিসেট API-এর কোড প্রবাহকে চিত্রিত করে৷
চিত্র 1.1 নমুনা USB পোর্ট রিসিট API কোড প্রবাহ।
আপনার বাস্তবায়ন যাচাই করুন
প্রতিটি ইউএসবি এইচএএল সংস্করণ এবং এর সংশ্লিষ্ট এপিআই ভেন্ডর টেস্ট স্যুট (ভিটিএস) এ একটি পরীক্ষার ক্ষেত্রে যুক্ত।
USB পোর্ট রিসেট API
ইউএসবি পোর্ট রিসেট এপিআই-এর জন্য VTS টেস্ট কেস খুঁজে পেতে, এখানে যান:
<aosp>/test/vts-testcase/hal/usb/gadget/V1_2/
USB HAL v1.2-এর VTS টেস্ট কেস হল একটি হোস্ট-সাইড টেস্ট কেস যা আপনি এই ক্রিয়াগুলি সম্পাদন করতে ব্যবহার করতে পারেন৷
USB পোর্ট রিসেট API চালু করতে,
adb shell
কমান্ড ব্যবহার করুন (#svc usb resetUsbPort
)।নিশ্চিত করুন যে পরীক্ষার অধীনে ডিভাইসটি (DUT) সংযোগ বিচ্ছিন্ন এবং পুনরায় সংযোগ করতে পারে৷