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.

Kiến trúc AOSP

Nền tảng hệ thống mở Android (AOSP) là mã nguồn Android có sẵn công khai và có thể sửa đổi. Bất kỳ ai cũng có thể tải xuống và sửa đổi AOSP cho thiết bị của họ. AOSP cung cấp triển khai đầy đủ và đầy đủ chức năng của nền tảng di động Android.

Có hai mức độ tương thích cho các thiết bị triển khai AOSP: khả năng tương thích AOSP và khả năng tương thích Android. Một thiết bị tương thích với AOSP phải tuân thủ danh sách các yêu cầu trong Tài liệu Định nghĩa Tương thích (CDD) . Một thiết bị tương thích với Android phải tuân thủ danh sách các yêu cầu trong CDD và Yêu cầu phần mềm của nhà cung cấp (VSR) và các thử nghiệm như các thử nghiệm trong Bộ thử nghiệm của nhà cung cấp (VTS)Bộ thử nghiệm khả năng tương thích (CTS) . Để biết thêm thông tin về khả năng tương thích với Android, hãy tham khảo chương trình tương thích với Android .

kiến trúc AOSP

Ngăn xếp phần mềm cho AOSP chứa các lớp sau:

Kiến trúc ngăn xếp phần mềm AOSP
Hình 1. Kiến trúc ngăn xếp phần mềm AOSP.
  • Ứng dụng Android. Một ứng dụng được tạo chỉ bằng API Android trong SDK Android. Cửa hàng Google Play được sử dụng rộng rãi để tìm và tải xuống các ứng dụng Android, mặc dù có nhiều lựa chọn thay thế khác. Trong một số trường hợp, nhà sản xuất thiết bị có thể muốn cài đặt sẵn ứng dụng Android để hỗ trợ chức năng cốt lõi của thiết bị. Nếu bạn quan tâm đến việc phát triển ứng dụng Android, hãy tiếp tục với developers.android.com .
  • ứng dụng đặc quyền. Một ứng dụng được tạo bằng cách sử dụng kết hợp Android và API hệ thống. Các ứng dụng này phải được cài đặt sẵn dưới dạng ứng dụng riêng tư trên thiết bị.
  • Ứng dụng sản xuất thiết bị. Một ứng dụng được tạo bằng cách sử dụng kết hợp API Android, API hệ thống và quyền truy cập trực tiếp vào triển khai khung Android. Do nhà sản xuất thiết bị có thể truy cập trực tiếp vào các API không ổn định trong khung Android nên các ứng dụng này phải được cài đặt sẵn trên thiết bị và chỉ có thể cập nhật khi phần mềm hệ thống của thiết bị được cập nhật.
  • khuôn khổ Android. Một nhóm các lớp Java, giao diện và mã được biên dịch trước khác để xây dựng ứng dụng. Các phần của khung có thể truy cập công khai thông qua việc sử dụng API Android của SDK Android. Các phần khác của khung chỉ khả dụng cho OEM thông qua việc sử dụng API hệ thống của SDK Android. Mã khung Android chạy bên trong quy trình của ứng dụng.
  • SDK Android. Bộ công cụ phát triển phần mềm để sử dụng trong việc tạo ứng dụng tương tác với khung Android. SDK Android bao gồm API Android, có sẵn cho tất cả các ứng dụng và API hệ thống, chỉ có sẵn cho các ứng dụng được bảo mật. Để biết thêm thông tin về API Android của SDK Android, hãy truy cập vào developers.android.com . Lưu ý rằng cũng có bộ công cụ phát triển gốc Android (NDK) cho phép bạn viết một phần ứng dụng Android của mình bằng mã gốc.
  • Dịch vụ hệ thống. Các dịch vụ hệ thống là các thành phần tập trung, theo mô-đun chẳng hạn như system_server , SurfaceFlinger và MediaService. Chức năng được cung cấp bởi API khung Android 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.
  • Thời gian chạy Android (ART). Môi trường thời gian chạy ứng dụng Java do AOSP cung cấp. ART thực hiện dịch mã byte của ứng dụng thành các hướng dẫn dành riêng cho bộ xử lý được thực thi bởi môi trường thời gian chạy của thiết bị.
  • Lớp trừu tượng hóa phần cứng (HAL). HAL là một lớp trừu tượng với giao diện tiêu chuẩn để các nhà cung cấp phần cứng triển khai. HAL cho phép Android không biết gì về 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 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.
  • Để biết thêm thông tin, hãy xem tổng quan về HAL .
  • Daemon bản địa và thư viện. Daemon bản địa trong lớp này bao gồm init , healthd , logdstoraged . Các daemon này tương tác trực tiếp với nhân hoặc các giao diện khác và không phụ thuộc vào triển khai HAL dựa trên không gian người dùng. Các thư viện gốc trong lớp này bao gồm libc , liblog , libutils , libbinderlibselinux . Các thư viện Gốc này tương tác trực tiếp với nhân hoặc các giao diện khác và không phụ thuộc vào triển khai HAL dựa trên không gian người dùng.
  • nhân. Phần trung tâm của bất kỳ hệ điều hành nào, hạt nhân nói chuyện với phần cứng cơ bản trên thiết bị. Nếu có thể, nhân AOSP được chia thành các mô-đun không phụ thuộc vào phần cứng và các mô-đun dành riêng cho nhà cung cấp. Để biết mô tả, bao gồm các định nghĩa, về các thành phần nhân AOSP, hãy tham khảo Tổng quan về nhân .

Cái gì tiếp theo?

  • Nếu bạn mới sử dụng AOSP và muốn bắt đầu phát triển, hãy tiếp tục với phần Bắt đầu .
  • Nếu bạn muốn tìm hiểu thêm về một lớp cụ thể của AOSP, hãy nhấp vào tên của lớp trong điều hướng bên trái và bắt đầu với tổng quan về lớp đó.