Tổng quan về AOSP

Android là một hệ điều hành dành cho nhiều loại thiết bị có kiểu dáng khác nhau. Bất cứ ai cũng có thể xem tài liệu và mã nguồn của Android dưới dạng Dự án nguồn mở Android (AOSP). Bạn có thể sử dụng AOSP để tạo các biến thể tuỳ chỉnh của hệ điều hành Android cho thiết bị của riêng mình.

AOSP được thiết kế để không có điểm lỗi trung tâm, trong đó một công ty trong ngành hạn chế hoặc kiểm soát các cải tiến của công ty khác. Do đó, AOSP là một sản phẩm dành cho nhà phát triển có chất lượng sản xuất đầy đủ với mã nguồn mở để tuỳ chỉnh và chuyển đổi.

Phần tài liệu này giúp các nhà phát triển mới sử dụng AOSP bắt đầu làm quen với nền tảng và thực hiện các tác vụ phát triển thiết yếu.

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

Sau đây là danh sách các điều khoản và định nghĩa được sử dụng trong suốt tài liệu Bắt đầu. Bạn nên nghiên cứu từng định nghĩa trước khi tiếp tục.

Nhà phát triển ứng dụng Android

Nhà phát triển ứng dụng Android viết ứng dụng Android chạy trên Android. Có 2 loại nhà phát triển ứng dụng: nhà phát triển ứng dụng bên thứ nhất (1p) và nhà phát triển ứng dụng bên thứ ba (3p).

Nhà phát triển ứng dụng bên thứ nhất cho Android
Nhà phát triển ứng dụng Android có quyền truy cập vào API Hệ thống AOSP và viết các ứng dụng đặc quyền và ứng dụng của nhà sản xuất thiết bị.
Nhà phát triển ứng dụng bên thứ ba cho Android
Nhà phát triển ứng dụng Android chỉ sử dụng SDK công khai của Android để tạo ứng dụng Android.

Nếu bạn muốn phát triển ứng dụng bên thứ ba cho Android, hãy tham khảo developer.android.com. Thông tin trên trang web này chỉ dành cho những người làm việc trực tiếp với AOSP.

Cầu gỡ lỗi Android (adb)
Một công cụ dòng lệnh (adb) cho phép máy trạm của bạn giao tiếp với một thiết bị ảo, được mô phỏng bằng phần mềm hoặc thiết bị thực.
Thiết bị tương thích với Android
Một thiết bị có thể chạy mọi ứng dụng bên thứ ba do nhà phát triển bên thứ ba viết bằng SDK Android và NDK. Các thiết bị tương thích với Android phải tuân thủ các yêu cầu của Tài liệu định nghĩa về khả năng tương thích (CDD) và vượt qua Bộ kiểm tra tính tương thích (CTS). Các thiết bị tương thích với Android đủ điều kiện tham gia hệ sinh thái Android, bao gồm cả việc cấp phép tiềm năng cho Cửa hàng Play trên Android, cấp phép tiềm năng cho bộ ứng dụng và API Các dịch vụ của Google dành cho thiết bị di động (GMS) và sử dụng nhãn hiệu Android. Bất cứ ai cũng có thể sử dụng mã nguồn Android, nhưng để được coi là một phần của hệ sinh thái Android, thiết bị phải tương thích với Android. Để biết thêm thông tin về khả năng tương thích và CTS, hãy xem phần Tổng quan về Chương trình tương thích của Android
Tài liệu định nghĩa về khả năng tương thích (CDD)
Một tài liệu liệt kê các yêu cầu về phần mềm và phần cứng đối với thiết bị tương thích với Android.
Contributor

Người đóng góp cho mã nguồn AOSP. Người đóng góp có thể là nhân viên của Google, nhân viên của các công ty khác và cá nhân không liên kết với công ty nào. Mọi người đóng góp cho AOSP đều sử dụng cùng một công cụ, tuân theo cùng một quy trình xem xét mã và tuân theo cùng một kiểu mã hoá. Bạn không cần phải là người đóng góp để sử dụng AOSP; bạn có thể tải AOSP xuống, sửa đổi cho phù hợp với nhu cầu của riêng mình và triển khai trên một thiết bị mà không cần đóng góp mã để người khác sử dụng.

Có những giới hạn về loại mã mà Google chấp nhận. Ví dụ: bạn có thể muốn đóng góp một API ứng dụng thay thế, chẳng hạn như môi trường đầy đủ dựa trên C++. Google sẽ từ chối đóng góp đó vì Android khuyến khích các ứng dụng chạy trong thời gian chạy ART. Tương tự, Google không chấp nhận các đóng góp như thư viện GPL hoặc LGPL không tương thích với mục tiêu cấp phép.

Nếu bạn muốn đóng góp mã nguồn, hãy liên hệ với Google trước khi bắt đầu làm việc.

Bộ kiểm tra tính tương thích (CTS)

Một bộ kiểm thử miễn phí, cấp thương mại, có thể tải xuống dưới dạng tệp nhị phân hoặc dưới dạng nguồn trong AOSP. CTS là một tập hợp các bài kiểm tra đơn vị được thiết kế để tích hợp vào quy trình làm việc hằng ngày của bạn. Mục đích của CTS là để phát hiện các điểm không tương thích và đảm bảo rằng phần mềm vẫn tương thích trong suốt quá trình phát triển.

Cá mực

Một thiết bị ảo chạy Android có thể định cấu hình, có thể chạy từ xa bằng các dịch vụ đám mây của bên thứ ba, chẳng hạn như Google Cloud Engine và cục bộ trên các máy Linux x86.

Nhà phát triển

Trong bối cảnh của AOSP, nhà phát triển là bất kỳ ai làm việc với AOSP theo bất kỳ cách nào. Thuật ngữ "nhà phát triển" được dùng để chỉ chung những người có thể đọc tài liệu này, chẳng hạn như nhà sản xuất thiết bị gốc (OEM), nhà sản xuất thiết bị cầm tay, nhà mạng và nhà sáng tạo Hệ thống trên một chip (SoC).

Các dịch vụ của Google dành cho thiết bị di động (GMS)

Một tập hợp các ứng dụng và API của Google có thể được cài đặt sẵn trên thiết bị.

Target

Một hoán vị của thiết bị, chẳng hạn như một kiểu máy hoặc kiểu dáng cụ thể. Ví dụ: aosp_cf_x86_64_only_phone-userdebug đại diện cho một chiếc điện thoại x86 65MB có thông tin gỡ lỗi được thiết kế để chạy trên trình mô phỏng cá mực.

Triết lý quản trị

Một nhóm các công ty có tên là Liên minh thiết bị cầm tay mở (OHA), do Google dẫn đầu, đã tạo ra Android. Ngày nay, nhiều công ty (cả thành viên ban đầu của OHA và các công ty khác) đã đầu tư rất nhiều vào Android. Các công ty này đã phân bổ nguồn lực kỹ thuật đáng kể để cải thiện Android và đưa các thiết bị Android ra thị trường.

Các công ty đã đầu tư vào Android là vì họ tin rằng một nền tảng mở là cần thiết. Android là một nỗ lực nguồn mở có chủ ý và rõ ràng (trái ngược với phần mềm miễn phí); một nhóm các tổ chức có nhu cầu chung đã tập hợp các nguồn lực để cộng tác trên một hoạt động triển khai duy nhất của một sản phẩm chung. Trước hết, triết lý của Android là thực dụng. Mục tiêu là một sản phẩm chung mà mỗi người đóng góp có thể điều chỉnh và tuỳ chỉnh.

Tất nhiên, việc tuỳ chỉnh không được kiểm soát có thể dẫn đến các hoạt động triển khai không tương thích. Để ngăn chặn tình trạng không tương thích, Dự án nguồn mở Android (AOSP) duy trì chương trình Tương thích với Android, trong đó nêu rõ ý nghĩa của việc tương thích với Android và những yêu cầu đối với nhà sản xuất thiết bị để đạt được trạng thái đó. Bất cứ ai cũng có thể sử dụng mã nguồn Android cho bất kỳ mục đích nào và Google hoan nghênh mọi mục đích sử dụng hợp pháp. Tuy nhiên, để tham gia vào hệ sinh thái ứng dụng chung mà các thành viên OHA đang xây dựng xung quanh Android, nhà sản xuất thiết bị phải tham gia Chương trình tương thích của Android.

AOSP do Google dẫn đầu, duy trì và phát triển thêm Android. Mặc dù Android bao gồm nhiều dự án phụ, nhưng AOSP chỉ quản lý dự án một cách nghiêm ngặt. Google xem và quản lý Android như một sản phẩm phần mềm duy nhất, toàn diện, chứ không phải là một bản phân phối, thông số kỹ thuật hoặc tập hợp các phần có thể thay thế. Ý định của Google là nhà sản xuất thiết bị chuyển Android sang một thiết bị; họ không triển khai một thông số kỹ thuật hoặc tuyển chọn một bản phân phối.

Tiếp theo là gì?