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 gereklidir.
USB HAL, USB HAL v2.0 gerektiren ve Android 13 ve üstünü çalıştıran cihazlarda kullanılabilen USB Bağlantı Noktası Sıfırlama API'sini destekler. Bağlı ana bilgisayarla USB bağlantısını sıfırlamak için bu API'yi kullanın.
USB HAL'ı ve API'lerini bulun
Cihaz üreticilerinin API'leri desteklemek için USB HAL'yi uygulaması gerekir.
USB HAL'in varsayılan uygulamasını bulmak için aşağıdaki yolları kullanın:
Sürüm AIDL (en yeni):
<aosp>/hardware/interfaces/usb/gadget/1.2/default/
Donanım arayüzü başlık dosyasını bulmak için aşağıdaki yolu kullanın:
Sürüm AIDL (en yeni):
<aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal
API'leri bulmak için AIDL başlık dosyasının altındaki API'leri bulmak üzere aşağıdaki yolu kullanın. Bu yol aynı zamanda API için Android Framework giriş noktasıdır:
android.hardware.usb
:<aosp>/core/java/android/hardware/usb
USB HAL'yi uygulayın
USB HAL API ile çalışmak için şunları uygulayın:
Doğru USB HAL sürümü. Hiçbir sistem kullanıcı arayüzü uygulamasına gerek yoktur.
Hedef cihaz ile ana bilgisayar 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 anlayın
USB HAL API, android.hardware.usb
paketinde yerleşiktir ve cihazla etkileşim kurmak için USB HAL'den yararlanır. API mimarisine ilişkin ayrıntılar aşağıdaki şekilde verilmiştir.
USB Bağlantı Noktası Sıfırlama API'si
Aşağıdaki şekil, USB HAL'ın uygulanması da dahil olmak üzere USB Bağlantı Noktası Sıfırlama API'sinin bir çerçevedeki kod akışını göstermektedir.
Şekil 1.1 Örnek USB Bağlantı Noktasını Yeniden Yerleştirme API kodu akışı.
Uygulamanızı doğrulayın
Her USB HAL sürümü ve buna karşılık gelen API, Satıcı Test Paketindeki (VTS) bir test durumuyla ilişkilendirilir.
USB Bağlantı Noktası Sıfırlama API'si
USB Bağlantı Noktası Sıfırlama API'sine yönelik VTS test senaryosunu bulmak için şu adrese gidin:
<aosp>/test/vts-testcase/hal/usb/gadget/V1_2/
USB HAL v1.2 için VTS test senaryosu, bu eylemleri gerçekleştirmek için kullanabileceğiniz ana bilgisayar tarafında bir test senaryosudur.
USB Bağlantı Noktası Sıfırlama API'sini çağırmak için
adb shell
komutunu (#svc usb resetUsbPort
) kullanın.Test edilen cihazın (DUT) bağlantısının kesilip yeniden bağlanabildiğini doğrulayın.