Bluetooth là một mô-đun Mainline không bắt buộc kể từ Android 13. Mô-đun Bluetooth Mainline nhằm cung cấp trải nghiệm Bluetooth nhất quán, chất lượng cao cho tất cả người dùng Android.
Động lực
Động lực chính đằng sau mô-đun Bluetooth là cung cấp trải nghiệm chất lượng cao cho đối tác, người dùng và nhà phát triển ứng dụng. Chúng ta sẽ đạt được điều này theo một vài cách chính:
- Gửi các bản cập nhật nhanh hơn và thường xuyên hơn nhờ các tính năng mới, bản sửa lỗi và bản sửa lỗi về khả năng tương tác cũng như bản sửa lỗi bảo mật.
- Giảm công việc lặp đi lặp lại cho đối tác
- Giảm chi phí của việc đặt lại cơ sở mã mỗi năm.
- Giảm mức hao tổn khi triển khai OTA cho các thiết bị cũ.
- Giảm tình trạng phân mảnh và tạo trải nghiệm nhất quán cho nhà phát triển và người dùng ứng dụng
- Cải thiện khả năng bảo mật trên toàn cầu trong hệ sinh thái Android. Phần lớn các lỗ hổng bảo mật trên Android đều liên quan đến Bluetooth.
Định dạng gói
Gói này là một APEX chứa APK Bluetooth (hiện được xác định trong packages/modules/Bluetooth/android/app
), các thư viện gốc (libbluetooth.so
và libbluetooth_jni.so
), các API (trong packages/modules/Bluetooth/framework/java/android/bluetooth
) và giao diện HIDL.
Ranh giới mô-đun
Hình 1. Ranh giới mô-đun Bluetooth
Chúng tôi đang di chuyển tất cả các kho lưu trữ hiện có vào một kho lưu trữ duy nhất trong system/bt
.
Hình 1 thể hiện các thư mục hiện tại sẽ bao gồm mô-đun của chúng ta.
Phần phụ thuộc
Mô-đun Bluetooth có các phần phụ thuộc trên các phần sau:
- Các trường hợp sử dụng API
@hide
đến và đi sẽ được dọn dẹp - Các thư viện cần thiết cho APK Bluetooth,
libbluetooth.so
vàlibbluetooth_jni.so