Tổng quan về lớp trừu tượng phần cứng (HAL)

Lớp trừu tượng phần cứng (HAL) là loại lớp trừu tượng có để triển khai giao diện chuẩn để nhà cung cấp phần cứng. HAL cho phép phần cứng để triển khai các tính năng cấp thấp hơn, dành riêng cho thiết bị mà không ảnh hưởng đến sửa đổi mã trong các lớp cấp cao hơn.

Điều khoản bắt buộc

Sau đây là danh sách các định nghĩa cho các thuật ngữ được sử dụng trong mục này của tài liệu:

Ngôn ngữ định nghĩa giao diện Android (AIDL)
Một ngôn ngữ giống Java dùng để xác định giao diện theo cách độc lập với ngôn ngữ lập trình bạn đang dùng. AIDL cho phép giao tiếp giữa Ứng dụng HAL và dịch vụ HAL.
Lớp trừu tượng phần cứng (HAL)
Một lớp HAL giúp giao tiếp với các quy trình khác đang sử dụng giao tiếp liên quy trình (IPC) cuộc gọi. HAL được liên kết chạy trong một quy trình riêng biệt với ứng dụng sử dụng chúng. HAL được liên kết được đăng ký với người quản lý dịch vụ để khách hàng có thể khai thác khả năng của họ. HAL được viết cho Android 8 trở lên đã liên kết.
Ứng dụng HAL
Quy trình truy cập vào dịch vụ HAL.
Giao diện HAL
Giao diện chung mà cả ứng dụng và dịch vụ HAL đều sử dụng để giao tiếp.
Dịch vụ HAL

Mã dành riêng cho phần cứng, chẳng hạn như mã đưa đến sản phẩm cụ thể của bạn máy ảnh của thiết bị. Bạn phải triển khai tất cả các HAL bắt buộc được liệt kê trong ma trận tương thích của bản phát hành mà bạn nhắm đến trong phân vùng nhà cung cấp. Để biết thêm thông tin về ma trận tương thích, hãy xem Ma trận tương thích.

Bạn cũng có thể tạo giao diện HAL mới hoặc mở rộng giao diện của HAL để hỗ trợ các tính năng độc đáo của phần cứng.

Ngôn ngữ định nghĩa giao diện phần cứng (HIDL)

Một ngôn ngữ dùng để xác định giao diện theo cách độc lập với ngôn ngữ lập trình nào đang được sử dụng. HIDL cho phép giao tiếp giữa Ứng dụng HAL và dịch vụ HAL.

Lớp trừu tượng phần cứng (HAL) trong cùng quy trình

Một bộ HAL được gói hạn chế. Tư cách thành viên trong tập hợp được kiểm soát bởi Google. HAL SP bao gồm:

  • Trình lập bản đồ C ổn định 5 HAL
  • OpenGL
  • Vulkan
  • android.hidl.memory@1.0 (do hệ thống Android cung cấp, luôn được gói)
  • android.hardware.renderscript@1.0
Lớp trừu tượng phần cứng (HAL) đã bao bọc

Dịch vụ HAL được tạo trước Android 8, nhưng được gói trong một Trình bao bọc AIDL hoặc HIDL tương thích với Android 8 trở lên.

Tiếp theo là gì?

  • Để tìm hiểu cách triển khai dịch vụ HAL (Lớp trừu tượng phần cứng), hãy tham khảo AIDL cho HAL.
  • Để tìm hiểu cách tạo hoặc mở rộng lớp trừu tượng phần cứng (HAL) hiện có, hãy tham khảo đến Đính kèm giao diện mở rộng.