Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Ikhtisar Lapisan Abstraksi Perangkat Keras (HAL)

Di Android 8.0 dan yang lebih tinggi, lapisan level yang lebih rendah ditulis ulang untuk mengadopsi arsitektur baru yang lebih modular. Perangkat yang menjalankan Android 8.0 dan lebih tinggi harus mendukung HAL yang ditulis dalam HIDL, dengan beberapa pengecualian tercantum di bawah. HAL ini dapat dijilid atau dilewati. Di Android 11, HAL yang ditulis dalam AIDL juga didukung. Semua AIDL HALs dijilid.

  • HAL yang di-binder . HAL diekspresikan dalam bahasa definisi antarmuka HAL (HIDL) atau bahasa definisi antarmuka Android (AIDL). HAL ini menggantikan HAL konvensional dan lama yang digunakan di versi Android sebelumnya. Dalam HAL Binderized, framework Android dan HAL berkomunikasi satu sama lain menggunakan panggilan binder inter-process communication (IPC). Semua perangkat yang diluncurkan dengan Android 8.0 atau lebih baru harus mendukung HAL yang di-binder saja.

  • Passthrough HAL . HAL konvensional atau Legacy yang dibungkus HIDL HAL ini membungkus HAL yang ada dan dapat melayani HAL dalam mode binderized dan proses yang sama (passthrough). Upgrade perangkat ke Android 8.0 dapat menggunakan HAL passthrough.

Persyaratan mode HAL

Perangkat Melewati Binder
Luncurkan dengan Android 8.0 HAL yang tercantum dalam HAL Passthrough harus passthrough. Semua HAL lainnya dijilid (termasuk HAL yang merupakan ekstensi vendor).
Tingkatkan ke Android 8.0 HAL yang tercantum dalam HAL Passthrough harus passthrough. HAL yang tercantum dalam Binderized HALs harus dijilid.
Semua HAL lain yang disediakan oleh image vendor dapat dalam mode passthrough ATAU binderized. Dalam perangkat yang sepenuhnya kompatibel dengan Treble, semua ini harus dijilid.

HAL yang di-binder

Android memerlukan HALS berikut untuk di-binder di semua perangkat Android terlepas dari apakah itu perangkat peluncuran atau perangkat pemutakhiran:

  • android.hardware.biometrics.fingerprint@2.1 . Mengganti fingerprintd yang tidak lagi ada di Android 8.0.
  • android.hardware.configstore@1.0 . Baru di Android 8.0.
  • android.hardware.dumpstate@1.0 . Antarmuka asli yang disediakan oleh HAL ini tidak dapat diubah dan diubah. Karena itu, dumpstate_board harus diimplementasikan ulang pada perangkat tertentu (ini adalah HAL opsional).
  • android.hardware.graphics.allocator@2.0 . Diperlukan untuk di-binder di Android 8.0 sehingga deskriptor file tidak harus dibagi antara proses tepercaya dan tidak tepercaya.
  • android.hardware.radio@1.0 . Mengganti antarmuka yang disediakan oleh rild yang hidup dalam prosesnya sendiri.
  • android.hardware.usb@1.0 . Baru di Android 8.0.
  • android.hardware.wifi@1.0 . Baru di Android 8.0, menggantikan pustaka HAL Wi-Fi lawas yang dimuat ke system_server
  • android.hardware.wifi.supplicant@1.0 . Antarmuka HIDL melalui proses wpa_supplicant yang ada.

Lewati HAL

Android mengharuskan HAL berikut berada dalam mode passthrough di semua perangkat Android terlepas dari apakah itu perangkat peluncuran atau peningkatan perangkat:

  • android.hardware.graphics.mapper@1.0 . Memetakan memori ke dalam proses di mana ia hidup.
  • android.hardware.renderscript@1.0 . Melewati item dalam proses yang sama (setara dengan openGL ).

Semua HAL yang tidak tercantum di atas harus dijilid untuk perangkat peluncuran.

HAL Proses yang Sama

Same-Process HALs (SP-HALs) selalu terbuka dalam proses yang sama di mana mereka digunakan. Mereka termasuk semua HAL yang tidak diekspresikan dalam HIDL serta beberapa yang tidak dijilid. Keanggotaan dalam set SP-HAL hanya dikontrol oleh Google, tanpa pengecualian.

SP-HAL meliputi hal-hal berikut:

  • openGL
  • Vulkan
  • android.hidl.memory@1.0 (disediakan oleh sistem Android, selalu passthrough)
  • android.hardware.graphics.mapper@1.0
  • android.hardware.renderscript@1.0