Google cam kết thúc đẩy công bằng chủng tộc cho các cộng đồng Đen. Xem thế nào.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Kiến trúc Android

Kiến trúc hệ thống Android chứa các thành phần sau:

Tổng quan về kiến ​​trúc hệ thống Android
Hình 1. Kiến trúc hệ thống Android
  • Khung ứng dụng . Khung ứng dụng được sử dụng thường xuyên nhất bởi các nhà phát triển ứng dụng. Là nhà phát triển phần cứng, bạn nên biết về API của nhà phát triển vì nhiều bản đồ trực tiếp đến các giao diện HAL cơ bản và có thể cung cấp thông tin hữu ích về việc triển khai trình điều khiển.
  • Chất kết dính IPC . Cơ chế Binder Inter-Process Communication (IPC) cho phép khung ứng dụng vượt qua các ranh giới quá trình và gọi mã dịch vụ hệ thống Android. Điều này cho phép API khung mức cao tương tác với các dịch vụ hệ thống Android. Ở cấp độ khung ứng dụng, giao tiếp này bị ẩn khỏi nhà phát triển và mọi thứ dường như "chỉ hoạt động".
  • Hệ thống dịch vụ . Các dịch vụ hệ thống là mô-đun, các thành phần tập trung như Trình quản lý cửa sổ, Dịch vụ tìm kiếm hoặc Trình quản lý thông báo. Chức năng được hiển thị bởi các API khung ứng dụng giao tiếp với các dịch vụ hệ thống để truy cập vào phần cứng cơ bản. Android bao gồm hai nhóm dịch vụ: hệ thống (như Trình quản lý cửa sổ và Trình quản lý thông báo) và phương tiện (dịch vụ liên quan đến phát và ghi phương tiện).
  • Lớp trừu tượng phần cứng (HAL) . HAL xác định giao diện chuẩn cho các nhà cung cấp phần cứng triển khai, điều này cho phép Android không tin vào việc triển khai trình điều khiển cấp thấp hơn. Sử dụng HAL cho phép bạn thực hiện chức năng mà không ảnh hưởng hoặc sửa đổi hệ thống cấp cao hơn. Việc triển khai HAL được đóng gói thành các mô-đun và được hệ thống Android tải vào thời điểm thích hợp. Để biết chi tiết, xem Lớp trừu tượng phần cứng (HAL) .
  • Nhân Linux . Phát triển trình điều khiển thiết bị của bạn tương tự như phát triển trình điều khiển thiết bị Linux điển hình. Android sử dụng phiên bản nhân Linux với một vài bổ sung đặc biệt như Low Memory Killer (hệ thống quản lý bộ nhớ tích cực hơn trong việc bảo quản bộ nhớ), khóa đánh thức (dịch vụ hệ thống PowerManager ), trình điều khiển Binder IPC và các tính năng quan trọng khác cho một nền tảng nhúng di động. Những bổ sung này chủ yếu cho chức năng hệ thống và không ảnh hưởng đến sự phát triển trình điều khiển. Bạn có thể sử dụng bất kỳ phiên bản kernel nào miễn là nó hỗ trợ các tính năng cần thiết (chẳng hạn như trình điều khiển chất kết dính). Tuy nhiên, chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất của nhân Android. Để biết chi tiết, xem Hạt nhân xây dựng .

Ngôn ngữ định nghĩa giao diện HAL (HIDL)

Android 8.0 đã tái cấu trúc khung hệ điều hành Android (trong một dự án được gọi là Treble ) để giúp các nhà sản xuất cập nhật thiết bị lên phiên bản Android mới dễ dàng hơn, nhanh hơn và ít tốn kém hơn. Trong kiến ​​trúc mới này, ngôn ngữ định nghĩa giao diện HAL (HIDL, phát âm là "ẩn-l") chỉ định giao diện giữa HAL và người dùng của nó, cho phép thay thế khung Android mà không cần xây dựng lại HAL.

HIDL tách biệt việc triển khai của nhà cung cấp (phần mềm cấp thấp hơn dành riêng cho thiết bị được viết bởi các nhà sản xuất silicon) khỏi khung hệ điều hành Android thông qua giao diện nhà cung cấp mới. Các nhà cung cấp hoặc nhà sản xuất SOC xây dựng HAL một lần và đặt chúng vào phân vùng /vendor trên thiết bị; khung, trong phân vùng riêng của nó, sau đó có thể được thay thế bằng bản cập nhật không dây (OTA) mà không cần biên dịch lại HAL.

Sự khác biệt giữa kiến ​​trúc Android kế thừa và kiến ​​trúc dựa trên HIDL hiện tại là ở cách sử dụng giao diện của nhà cung cấp:

  • Trong Android 7.x trở về trước, không có giao diện nhà cung cấp chính thức nào tồn tại, do đó, các nhà sản xuất thiết bị phải cập nhật một phần lớn mã Android để chuyển thiết bị sang phiên bản Android mới hơn:

    Hình 2. Môi trường cập nhật Android kế thừa
  • Trong Android 8.0 trở lên, giao diện nhà cung cấp ổn định mới cung cấp quyền truy cập vào các phần dành riêng cho phần cứng của Android, vì vậy các nhà sản xuất thiết bị có thể cung cấp các bản phát hành Android mới chỉ bằng cách cập nhật khung hệ điều hành Android mà không cần thêm công việc từ các nhà sản xuất silicon:

    Hình 3. Môi trường cập nhật Android hiện tại

Tất cả các thiết bị mới khởi chạy cùng Android 8.0 trở lên có thể tận dụng kiến ​​trúc mới. Để đảm bảo khả năng tương thích về phía trước của việc triển khai của nhà cung cấp, giao diện nhà cung cấp được xác thực bởi Bộ kiểm tra nhà cung cấp (VTS) , tương tự như Bộ kiểm tra tương thích (CTS) . Bạn có thể sử dụng VTS để tự động kiểm tra hạt nhân HAL và OS trong cả kiến ​​trúc Android cũ và hiện tại.

Tài nguyên kiến ​​trúc

Để biết chi tiết về kiến ​​trúc Android, xem các phần sau:

Ngoài các tài nguyên trên trang này, các thành viên của nhóm Treble đã xuất bản Treble: Cập nhật phần mềm nhanh bằng cách tạo trạng thái cân bằng trong hệ sinh thái phần mềm hoạt động của các bên liên quan phân tán toàn cầu . Bài viết miễn phí cho các thành viên ACM và những người không phải thành viên có thể mua hoặc đọc bản tóm tắt.