Tổng quan về AOSP, tổng quan về AOSP

Android là hệ điều hành dành cho nhiều loại thiết bị với nhiều kiểu dáng khác nhau. Tài liệu và mã nguồn dành cho Android được cung cấp cho bất kỳ ai dưới dạng Dự án mã nguồn mở Android (AOSP) . Bạn có thể sử dụng AOSP để tạo các biến thể tùy 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ế sao cho không có điểm thất bại trung tâm, nơi một người chơi trong ngành hạn chế hoặc kiểm soát những đổi mới của người khác. Do đó, AOSP là một sản phẩm dành cho nhà phát triển đầy đủ, có chất lượng sản xuất với mã nguồn mở để tùy chỉnh và chuyển.

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 nhiệm 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 trong tài liệu hướng dẫn bắt đầu 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 cách phân 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à bên thứ ba (3p).

Nhà phát triển ứng dụng Android 1p
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 dành cho nhà sản xuất thiết bị và đặc quyền.
Nhà phát triển ứng dụng Android 3p
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 3p cho Android, hãy tham 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.

Cầu gỡ lỗi Android (ADB)
Công cụ dòng lệnh ( adb ) cho phép máy trạm của bạn giao tiếp với thiết bị ảo, được mô phỏng bằng phần mềm hoặc vật lý.
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 nào của 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 tương thích (CDD) và vượt qua Bộ kiểm tra tương thích (CTS) . Các thiết bị tương thích với Android đủ điều kiện tham gia vào hệ sinh thái Android bao gồm giấy phép tiềm năng cho Cửa hàng Android Play, giấy phép tiềm năng cho bộ ứng dụng và API của Google Mobile Services (GMS) cũng như việc sử dụng nhãn hiệu Android. Bất kỳ 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 tổng quan về Chương trình tương thích với Android
Người phê duyệt
Các thành viên giàu kinh nghiệm của cộng đồng AOSP đã có những đóng góp đáng kể về mặt kỹ thuật và thiết kế cho nền tảng này. Trong quá trình xem xét mã, người phê duyệt sẽ quyết định có đưa vào thay đổi hay không. Trưởng dự án (thường được Google tuyển dụng) chọn người phê duyệt, đôi khi thăng chức người xác minh lên vị trí người phê duyệt khi họ thể hiện kiến ​​thức chuyên môn về một phần cụ thể của AOSP.
Tài liệu định nghĩa 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 dành cho thiết bị tương thích với Android.
Người đóng góp

Một người cũng có những đó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 từ các công ty khác và cá nhân không có liên kết với công ty. Mọi người đóng góp 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 mã hóa. Bạn không cần phải là người đóng góp để sử dụng AOSP; bạn có thể tải xuống AOSP, sửa đổi nó theo nhu cầu của riêng mình và triển khai nó trên thiết bị mà không cần đóng góp mã cho người khác sử dụng.

Có những giới hạn đối với loại đóng góp 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 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 thời gian chạy ART. Tương tự, Google không chấp nhận những đó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 quan tâm đến việc đó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 khả năng tương thích (CTS)

Bộ thử nghiệm cấp thương mại, miễn phí, có sẵn để tải xuống dưới dạng 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à tiết lộ 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.

mực nang

Một thiết bị ảo hỗ trợ Android có thể định cấu hình có thể 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 ngữ cảnh của AOSP, nhà phát triển là bất kỳ ai làm việc với AOSP dưới bất kỳ hình thức nào. Thuật ngữ "nhà phát triển" được dùng để chỉ một cách tổng quát những người khác nhau 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à cung cấp dịch vụ và người sáng tạo Hệ thống trên chip (SoC).

Dịch vụ di động của Google (GMS)

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ị.

Mục tiêu

Một hoán vị của một 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_phone-userdebug đại diện cho điện thoại x86 65 MB với thông tin gỡ lỗi được thiết kế để chạy trên trình mô phỏng mực nang.

Người xác minh

Người đóng góp có giá trị trong cộng đồng Android tải xuống và xác minh các thay đổi đối với AOSP. Sau khi bạn đã gửi một lượng đáng kể mã chất lượng cao cho AOSP, người đứng đầu dự án có thể mời bạn trở thành người xác minh.

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ị cầm tay mở (OHA), do Google đứng đầu, đã khởi 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ổ các nguồn lực kỹ thuật quan trọng để cải tiế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àm như vậy vì họ tin rằng nền tảng mở là cần thiết. Android là một nỗ lực có chủ ý và rõ ràng về nguồn mở (ngược lại 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 trong việc triển khai một sản phẩm chung. Đầu tiên và quan trọng nhất, triết lý của Android là thực dụng. Mục tiêu là một sản phẩm được chia sẻ mà mỗi người đóng góp có thể điều chỉnh và tùy chỉnh.

Tất nhiên, việc tùy 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 mã nguồn mở Android (AOSP) duy trì chương trình 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 của nhà chế tạo 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 hoạt động sử dụng hợp pháp. Tuy nhiên, để tham gia vào hệ sinh thái chia sẻ các ứng dụng mà các thành viên OHA đang xây dựng trên Android, nhà phát triển thiết bị phải tham gia vào chương trình Tương thích Android.

AOSP được lãnh đạo bởi Google, người duy trì và phát triển hơn nữa Android. Mặc dù Android bao gồm nhiều dự án con nhưng AOSP quản lý dự án một cách chặt chẽ. Google xem và quản lý Android dưới dạng một sản phẩm phần mềm tổng thể, duy nhất chứ không phải là bản phân phối, thông số kỹ thuật hay tập hợp các bộ phận có thể thay thế. Mục đích của Google là các nhà chế tạo thiết bị sẽ chuyển Android sang một thiết bị; họ không triển khai đặc tả hoặc quản lý phân phối.

Cái gì tiếp theo?

,

Android là hệ điều hành dành cho nhiều loại thiết bị với nhiều kiểu dáng khác nhau. Tài liệu và mã nguồn dành cho Android được cung cấp cho bất kỳ ai dưới dạng Dự án mã nguồn mở Android (AOSP) . Bạn có thể sử dụng AOSP để tạo các biến thể tùy 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ế sao cho không có điểm thất bại trung tâm, nơi một người chơi trong ngành hạn chế hoặc kiểm soát những đổi mới của người khác. Do đó, AOSP là một sản phẩm dành cho nhà phát triển đầy đủ, có chất lượng sản xuất với mã nguồn mở để tùy chỉnh và chuyển.

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 nhiệm 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 trong tài liệu hướng dẫn bắt đầu 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 cách phân 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à bên thứ ba (3p).

Nhà phát triển ứng dụng Android 1p
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 dành cho nhà sản xuất thiết bị và đặc quyền.
Nhà phát triển ứng dụng Android 3p
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 3p cho Android, hãy tham 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.

Cầu gỡ lỗi Android (ADB)
Công cụ dòng lệnh ( adb ) cho phép máy trạm của bạn giao tiếp với thiết bị ảo, được mô phỏng bằng phần mềm hoặc vật lý.
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 nào của 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 tương thích (CDD) và vượt qua Bộ kiểm tra tương thích (CTS) . Các thiết bị tương thích với Android đủ điều kiện tham gia vào hệ sinh thái Android bao gồm giấy phép tiềm năng cho Cửa hàng Android Play, giấy phép tiềm năng cho bộ ứng dụng và API của Google Mobile Services (GMS) cũng như việc sử dụng nhãn hiệu Android. Bất kỳ 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 tổng quan về Chương trình tương thích với Android
Người phê duyệt
Các thành viên giàu kinh nghiệm của cộng đồng AOSP đã có những đóng góp đáng kể về mặt kỹ thuật và thiết kế cho nền tảng này. Trong quá trình xem xét mã, người phê duyệt sẽ quyết định có đưa vào thay đổi hay không. Trưởng dự án (thường được Google tuyển dụng) chọn người phê duyệt, đôi khi thăng chức người xác minh lên vị trí người phê duyệt khi họ thể hiện kiến ​​thức chuyên môn về một phần cụ thể của AOSP.
Tài liệu định nghĩa 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 dành cho thiết bị tương thích với Android.
Người đóng góp

Một người cũng có những đó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 từ các công ty khác và cá nhân không có liên kết với công ty. Mọi người đóng góp 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 mã hóa. Bạn không cần phải là người đóng góp để sử dụng AOSP; bạn có thể tải xuống AOSP, sửa đổi nó theo nhu cầu của riêng mình và triển khai nó trên thiết bị mà không cần đóng góp mã cho người khác sử dụng.

Có những giới hạn đối với loại đóng góp 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 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 thời gian chạy ART. Tương tự, Google không chấp nhận những đó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 quan tâm đến việc đó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 khả năng tương thích (CTS)

Bộ thử nghiệm cấp thương mại, miễn phí, có sẵn để tải xuống dưới dạng 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à tiết lộ 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.

mực nang

Một thiết bị ảo hỗ trợ Android có thể định cấu hình có thể 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 ngữ cảnh của AOSP, nhà phát triển là bất kỳ ai làm việc với AOSP dưới bất kỳ hình thức nào. Thuật ngữ "nhà phát triển" được dùng để chỉ một cách tổng quát những người khác nhau 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à cung cấp dịch vụ và người sáng tạo Hệ thống trên chip (SoC).

Dịch vụ di động của Google (GMS)

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ị.

Mục tiêu

Một hoán vị của một 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_phone-userdebug đại diện cho điện thoại x86 65 MB với thông tin gỡ lỗi được thiết kế để chạy trên trình mô phỏng mực nang.

Người xác minh

Người đóng góp có giá trị trong cộng đồng Android tải xuống và xác minh các thay đổi đối với AOSP. Sau khi bạn đã gửi một lượng đáng kể mã chất lượng cao cho AOSP, người đứng đầu dự án có thể mời bạn trở thành người xác minh.

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ị cầm tay mở (OHA), do Google đứng đầu, đã khởi 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ổ các nguồn lực kỹ thuật quan trọng để cải tiế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àm như vậy vì họ tin rằng nền tảng mở là cần thiết. Android là một nỗ lực có chủ ý và rõ ràng về nguồn mở (ngược lại 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 trong việc triển khai một sản phẩm chung. Đầu tiên và quan trọng nhất, triết lý của Android là thực dụng. Mục tiêu là một sản phẩm được chia sẻ mà mỗi người đóng góp có thể điều chỉnh và tùy chỉnh.

Tất nhiên, việc tùy 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 mã nguồn mở Android (AOSP) duy trì chương trình 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 của nhà chế tạo 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 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 trên Android, nhà phát triển thiết bị phải tham gia vào chương trình Tương thích Android.

AOSP được lãnh đạo bởi Google, người duy trì và phát triển hơn nữa Android. Mặc dù Android bao gồm nhiều dự án con nhưng AOSP quản lý dự án một cách chặt chẽ. Google xem và quản lý Android dưới dạng một sản phẩm phần mềm tổng thể, duy nhất chứ không phải là bản phân phối, thông số kỹ thuật hay tập hợp các bộ phận có thể thay thế. Mục đích của Google là các nhà chế tạo thiết bị sẽ chuyển Android sang một thiết bị; họ không triển khai đặc tả hoặc quản lý phân phối.

Cái gì tiếp theo?