Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
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 các nhà phát triển ứng dụng sử dụng thường xuyên nhất. Là nhà phát triển phần cứng, bạn nên biết các API của nhà phát triển vì nhiều API ánh xạ trực tiếp đến các giao diện HAL bên dưới 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 ranh giới quy trình và gọi vào mã dịch vụ hệ thống Android. Điều này cho phép các API khung cấp 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".
  • Các dịch vụ hệ thống . Dịch vụ hệ thống là các thành phần tập trung, mô-đun 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 khung ứng dụng API giao tiếp với các dịch vụ hệ thống để truy cập vào phần cứng bên dưới. Android bao gồm hai nhóm dịch vụ: hệ thống (chẳng hạn như Trình quản lý cửa sổ và Trình quản lý thông báo) và phương tiện (các 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 tiêu 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 có khả năng triển khai trình điều khiển cấp thấp hơn. Sử dụng HAL cho phép bạn triển khai chức năng mà không ảnh hưởng hoặc sửa đổi hệ thống cấp cao hơn. Các triển khai HAL được đóng gói thành các mô-đun và được tải bởi hệ thống Android vào thời điểm thích hợp. Để biết chi tiết, hãy 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 của nhân Linux với một số 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 tồn bộ nhớ), khóa đánh thức (một dịch vụ hệ thống PowerManager ), trình điều khiển IPC Binder 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 dành cho chức năng hệ thống và không ảnh hưởng đến việc phát triển trình điều khiển. Bạn có thể sử dụng bất kỳ phiên bản nào của hạt nhân 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, hãy xem Xây dựng nhân .

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

Android 8.0 đã tái cấu trúc lại 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à "hide-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 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ị do nhà sản xuất silicon viết) 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 công tác, trong phân vùng riêng của nó, sau đó có thể được thay thế bằng bản cập nhật qua mạng (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 cũ và kiến ​​trúc dựa trên HIDL hiện tại là ở việc 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, vì vậy 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 cũ
  • 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 bộ 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ỉ đơn giản bằng cách cập nhật khung hệ điều hành Android — mà không cần các nhà sản xuất silicon bổ sung:

    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 với Android 8.0 trở lên đều có thể tận dụng lợi thế của kiến ​​trúc mới. Để đảm bảo khả năng tương thích chuyển tiếp của các triển khai của nhà cung cấp, giao diện của nhà cung cấp được xác thực bởi Bộ thử nghiệm của nhà cung cấp (VTS) , tương tự như Bộ thử nghiệm 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, hãy xem các phần sau:

Ngoài các tài nguyên trên trang web 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 đang hoạt động của các bên liên quan được phân phối trên toàn cầu . Bài báo này miễn phí cho các thành viên ACM và những người không phải là thành viên có thể mua hoặc đọc phần tóm tắt.