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. Tài liệu và mã nguồn của Android được cung cấp cho mọi người dưới dạng Dự án nguồn mở Android (AOSP). Bạn có thể 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 người chơi trong ngành hạn chế hoặc kiểm soát các cải tiến của người chơi khác. Do đó, AOSP là một sản phẩm hoàn chỉnh dành cho nhà phát triển với chất lượng sản xuất và 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 tác 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 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 hoặc các ứng dụng chạy trên Android. Có hai 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 trên 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
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 Android SDK 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ả khả năng được cấp phép Cửa hàng Play của Android, khả năng được cấp phép bộ ứng dụng và API Dịch vụ di động của Google (GMS), cũng như việc sử dụng thương 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)
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 một thiết bị tương thích với Android.
Cộng tác viên

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 thuộc 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 đánh giá mã và phải tuân thủ cùng một kiểu lập trình. Bạn không cần phải là một 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.

Google có giới hạn về loại mã đóng góp mà chúng tôi 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ột 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 những nội dung đóng góp như thư viện GPL hoặc LGPL không tương thích với các 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.

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 bộ 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à để lộ ra những đ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 và chạy từ xa, sử dụ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 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 bộ sưu tậ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_only_phone-userdebug biểu thị 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ác công ty được gọi là Liên minh thiết bị di động 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à do 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 (khá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 nguồn lực để cộng tác trên một quy trình triển khai duy nhất của một 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 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 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 đó. Mọi người đều 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 dùng chung mà các thành viên OHA đang xây dựng xung quanh Android, các nhà sản xuất thiết bị phải tham gia Chương trình Tương thích Android.

AOSP do Google dẫn dắt, đồng thời duy trì và phát triển thêm Android. Mặc dù Android bao gồm nhiều dự án con, nhưng AOSP chỉ quản lý dự án. 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, quy cách hoặc tập hợp các bộ phận có thể thay thế. Mục đích của Google là để các 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 quy cách hoặc tuyển chọn một bản phân phối.

Tiếp theo là gì?