Tổng quan về AOSP (Dự án nguồn mở Android)

Android là một hệ điều hành dành cho nhiều thiết bị có nhiều kiểu dáng. Bất kỳ ai cũng có thể truy cập Dự án nguồn mở Android (AOSP) với tài liệu và mã nguồn dành cho Android. Bạn có thể sử dụng AOSP để tạo các biến thể tuỳ chỉnh của Android OS 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 trình phát trong ngành sẽ hạn chế hoặc kiểm soát các đổi mới của nền tảng khác. Do đó, AOSP là một sản phẩm dành cho nhà phát triển đầy đủ, chất lượng cao 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 AOSP mới bắt đầu sử dụng nền tảng và thực hiện các nhiệm vụ phát triển thiết yếu.

Các điều khoản bắt buộc

Sau đây là danh sách các thuật ngữ và định nghĩa được dùng xuyên 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 hoặc các ứng dụng chạy trên Android. Có hai nhóm 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 của Android
Một nhà phát triển ứng dụng Android có quyền truy cập vào API Hệ thống AOSP (Dự án nguồn mở Android) và ghi các ứng dụng của nhà sản xuất thiết bị và ứng dụng có đặc quyền.
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 các ứng dụng bên thứ ba cho Android, hãy tham khảo developers.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 (Dự án nguồn mở Android).

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 bất kỳ ứng dụng bên thứ ba nào do nhà phát triển bên thứ ba viết bằng SDK và NDK Android. 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ó thể được cấp phép sử dụng Cửa hàng Google Play, có thể được cấp phép sử dụng bộ ứng dụng và API Dịch vụ của Google dành cho thiết bị di động (GMS), cũng như có thể sử dụng nhãn hiệu Android. Mọi người đều 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 bài viết Tổng quan về Chương trình tương thích với Android
Tài liệu định nghĩa về khả năng tương thích (CDD)
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.
Người đóng góp

Một người đóng góp cho mã nguồn AOSP (Dự án nguồn mở Android). 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 cộng tác viên AOSP đều sử dụng các công cụ giống nhau, tuân theo cùng một quy trình xem xét mã và tuân theo cùng một kiểu lập trình. 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 AOSP theo nhu cầu của riêng mình và triển khai AOSP trên một thiết bị mà không cần đóng góp mã để người khác sử dụng.

Google có giới hạn về loại mã đóng góp được chấp nhận. Ví dụ: bạn nên đóng góp một API ứng dụng thay thế, chẳng hạn như môi trường dựa trên C++ đầy đủ. Google sẽ từ chối đóng góp đó vì Android khuyến khích các ứng dụng chạy trong môi trường thời gian chạy ART. Tương tự, Google không chấp nhận các nội dung đó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 công 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 nguồn trong AOSP. CTS là một tập hợp các bài kiểm thử đơ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à để hiện sự 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.

Mực ống

Một thiết bị Android ảo 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 máy Linux x86.

Nhà phát triển

Trong ngữ 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 điện thoại di động, nhà mạng và nhà sáng tạo hệ thống trên 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 mẫu hoặc hệ số hình dạng cụ thể. Ví dụ: aosp_cf_x86_64_phone-userdebug đại diện cho một điện thoại x86 65 MB có thông tin gỡ lỗi được thiết kế để chạy trên trình mô phỏng cuttlefish.

Triết lý quản trị

Một nhóm công ty có tên là Open Handset Alliance (OHA), do Google dẫn đầu, có nguồn gốc từ Android. Ngày nay, nhiều công ty (cả cá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ổ tài nguyên kỹ thuật đáng kể để cải thiện Android và đưa 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ở (chứ không phải phần mềm miễn phí) một cách rõ ràng và có chủ ý; một nhóm các tổ chức có nhu cầu chung đã gộp các tài nguyên để cộng tác trong một lần triển khai sản phẩm dùng 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 cộng tác viên 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 việc 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 Khả năng tương thích với Android. Chương trình này 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 kỳ 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 hệ sinh thái dùng chung các ứng dụng 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 với Android.

AOSP (Dự án nguồn mở Android) do Google dẫn dắt, chịu trách nhiệm duy trì và phát triển Android hơn nữa. Mặc dù Android bao gồm nhiều dự án phụ, nhưng AOSP lại 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 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 thông số kỹ thuật hoặc tuyển chọn bản phân phối.

Tiếp theo là gì?