USB Donanım Soyutlama Katmanı (HAL) API'sini desteklemek için cihaz üreticilerinin ilgili USB HAL sürümünü uygulaması gerekir. USB HAL API'yi kullanmak için sistem ayrıcalıklı bir uygulama gerekir.
USB HAL, USB Bağlantı Noktası Sıfırlama API'sini destekler. Bu API, USB HAL v2.0 sürümünü gerektirir ve Android 13 ve sonraki sürümleri çalıştıran cihazlarda kullanılabilir. Bağlı ana makineyle USB bağlantısını sıfırlamak için bu API'yi kullanın.
USB HAL'i ve API'lerini bulma
Cihaz üreticileri, API'leri desteklemek için USB HAL'i uygulamalıdır.
USB HAL'in varsayılan uygulamasını bulmak için aşağıdaki yolları kullanın:
Version AIDL (latest):
<aosp>/hardware/interfaces/usb/gadget/1.2/default/
Donanım arayüzü üstbilgi dosyasını bulmak için aşağıdaki yolu kullanın:
Version AIDL (latest):
<aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal
API'leri bulmak için AIDL başlık dosyası altında aşağıdaki yolu kullanın. Bu yol, API'nin Android Framework giriş noktasıdır:
android.hardware.usb
:<aosp>/core/java/android/hardware/usb
USB HAL'sini uygulama
USB HAL API ile çalışmak için şunları uygulayın:
Doğru USB HAL sürümü. Sistem kullanıcı arayüzü uygulaması gerekmez.
Hedef cihaz ile ana makine arasındaki USB bağlantısını sıfırlayarak USB Bağlantı Noktası Sıfırlama API'si için USB AIDL HAL.
USB HAL API mimarisini anlama
USB HAL API, android.hardware.usb
paketine yerleştirilmiştir ve cihazla etkileşim kurmak için USB HAL'den yararlanır. API'nin mimarisiyle ilgili ayrıntılar aşağıdaki şekilde verilmiştir.
USB Port Reset API
Aşağıdaki şekilde, USB HAL'nin uygulanması da dahil olmak üzere USB Port Reset API'nin bir çerçevedeki kod akışı gösterilmektedir.
Şekil 1.1 USB Bağlantı Noktasını Yeniden Takma API'si örnek kod akışı.
Uygulamanızı doğrulama
Her USB HAL sürümü ve ilgili API, Satıcı Testi Paketi'ndeki (VTS) bir test senaryosuyla ilişkilendirilir.
USB Port Reset API
USB Port Reset API için VTS test durumunu bulmak üzere şu adrese gidin:
<aosp>/test/vts-testcase/hal/usb/gadget/V1_2/
USB HAL v1.2 için VTS test senaryosu, bu işlemleri gerçekleştirmek üzere kullanabileceğiniz ana makine tarafı bir test senaryosudur.
USB Port Reset API'yi çağırmak için
adb shell
komutunu (#svc usb resetUsbPort
) kullanın.Test edilen cihazın (DUT) bağlantısını kesip yeniden bağlayabileceğini onaylayın.