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

Android là hệ điều hành cho nhiều loại thiết bị với nhiều kiểu dáng. Tài liệu và mã nguồn dành cho Android được cung cấp cho tất cả mọi người dưới dạng Dự án nguồn mở Android (AOSP). Bạn có thể dùng Dự án nguồn mở Android (AOSP) để tạo các biến thể tuỳ chỉnh của hệ điều hành Android cho các 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 đầy đủ, chất lượng phát hành công khai có 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 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 thuật ngữ và định nghĩa được sử dụng xuyên suốt tài liệu hướng dẫn bắt đầu sử dụng này. 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 ứ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 Android bên thứ nhất
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 Android 3p
Một 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 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ị thực, được mô phỏng bằng phần mềm hoặc ảo.
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ề tính 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ả giấy phép có thể có của Cửa hàng Android Play, giấy phép có thể được cấp cho bộ ứng dụng và API Dịch vụ của Google dành cho thiết bị di động (GMS) cũng như việc sử dụng nhãn hiệu Android. Ai cũng có thể sử dụng mã nguồn Android. Tuy nhiên, để đượ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 nội dung 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. 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 nhất thiết 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 cho nhu cầu của riêng mình và triển khai trên thiết bị mà không cần đóng góp mã cho người khác sử dụng.

Có giới hạn đối với loại hình đóng góp mã mà Google 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 khoản đó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 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 dưới dạng nguồn trong AOSP (Dự án nguồn mở Android). 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 thị 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.

Sơn mực

Một thiết bị ảo chạy Android ảo có thể định cấu hình, có thể chạy từ xa bằng các giải pháp đá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 bối cảnh AOSP (Dự án nguồn mở Android), nhà phát triển là bất kỳ ai làm việc với AOSP (Dự án nguồn mở Android) dưới mọi hình thức. Nói chung, thuật ngữ "nhà phát triển" để chỉ 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

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

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ả 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. Những công ty này đã phân bổ nguồn lực 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àm như vậy 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ủ đích và rõ ràng (trái ngược với phần mềm miễn phí); một nhóm tổ chức có nhu cầu chung sẽ có các tài nguyên gộp lại để 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 dùng chung. Đầu tiên và trên hết, triết lý của Android là thực tế. 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 các phương pháp triển khai không tương thích. Để ngăn chặn sự không tương thích, Dự án nguồn mở Android (AOSP) sẽ duy trì Chương trình tương thích với Android, cho biết ý nghĩa của việc tương thích với Android và những yêu cầu mà trình tạo thiết bị cần để đạt được trạng thái đó. Bất cứ ai cũng có thể sử dụng mã nguồn Android cho mọi mục đích và Google hoan nghênh mọi hoạt động sử dụng hợp pháp. Tuy nhiên, để tham gia vào hệ sinh thái dùng chung gồm các ứng dụng mà các thành viên OHA đang xây dựng xoay quanh Android, các trình tạo 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 chỉ quản lý dự án chặt chẽ. 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, không phải là một bản phân phối, thông số kỹ thuật hay tập hợp các phần có thể thay thế. Ý định của Google là trình tạo thiết bị chuyển Android sang một thiết bị; chúng không triển khai thông số kỹ thuật hoặc chọn bản phân phối.

Tiếp theo là gì?