Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release
thay vì aosp-main
để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Đóng góp cho các dự án thượng nguồn
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Android sử dụng một số dự án nguồn mở khác. Hầu hết các dự án này đều nằm trong WORKING_DIRECTORY/external/
và bạn có thể làm theo các bước sau để thực hiện thay đổi đối với các dự án đó:
- Chuyển đến
WORKING_DIRECTORY/external/upstream-project
.
- Xem tệp
METADATA
. Tệp này thường có một mục nhập cho một URL mà bạn có thể tìm thấy thông tin về việc đóng góp cho dự án.
- Sau khi bạn thực hiện các thay đổi đối với dự án cấp trên, hãy thông báo cho các nhà bảo trì Android về bản phát hành cấp trên mới chứa các thay đổi của bạn.
Phần còn lại của trang này cung cấp thêm thông tin về việc đóng góp cho các dự án thượng nguồn cụ thể.
Bionic
Hầu hết mã cho Bionic đều lấy từ BSD, vì vậy, trừ phi thay đổi là mã mới cho Bionic, hãy khắc phục lỗi ngược dòng rồi lấy toàn bộ tệp mới từ BSD thích hợp.
Hạt nhân Android
Thực hiện tất cả thay đổi ở thượng nguồn. Để biết hướng dẫn chung, hãy làm theo bài viết Làm cách nào để gửi bản vá cho Nhân hệ điều hành Android chung và Phát triển mã nhân hệ điều hành cho GKI.
Đơn vị điều trị tích cực (ICU)
Thực hiện tất cả thay đổi đối với dự án ICU tại external/icu
(thư mục icu4c/
và icu4j/
) trên ICU-TC. Hãy xem phần Gửi lỗi ICU và yêu cầu về tính năng để biết thêm thông tin.
Thêm nhãn "android" vào tất cả các yêu cầu Jira ngược dòng.
CLDR
Hầu hết dữ liệu ngôn ngữ trong ICU đều đến từ dự án Unicode CLDR. Gửi tất cả các yêu cầu lên trên theo nội dung Đóng góp cho CLDR và thêm nhãn "android".
LLVM/Clang/Compiler-rt
Thực hiện tất cả thay đổi đối với các dự án liên quan đến LLVM ở thượng nguồn. Để biết thêm thông tin về cách Google xây dựng chuỗi công cụ từ nguồn cấp trên, hãy xem Chuỗi công cụ Android Clang/LLVM.
mksh
Thực hiện tất cả thay đổi đối với dự án MirBSD Korn Shell tại external/mksh
bằng cách gửi email đến miros-mksh
trên miền mirbsd.org
(không cần đăng ký để gửi email đến đó) hoặc tại Launchpad.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],null,["# Contribute to upstream projects\n\nAndroid makes use of a number of other open source projects. Most of these\nprojects reside within \u003cvar translate=\"no\"\u003eWORKING_DIRECTORY\u003c/var\u003e`/external/`, and\nyou can follow these steps to make the changes to those projects:\n\n1. Navigate to \u003cvar translate=\"no\"\u003eWORKING_DIRECTORY\u003c/var\u003e`/external/`\u003cvar translate=\"no\"\u003eupstream-project\u003c/var\u003e.\n2. View the `METADATA` file. This file usually has an entry for a URL where you can find information on contributing to the project.\n3. After your changes have been made to the upstream project, inform the Android maintainers of the new upstream release that contains your changes.\n\nThe remainder of this page provides additional information on contributing to\nspecific upstream projects.\n\nBionic\n------\n\nMost of the code for Bionic is from BSD, so unless the change is to code\nthat's new to Bionic, make an upstream fix and then a pull of a whole new file\nfrom the appropriate BSD.\n\nAndroid kernel\n--------------\n\nMake all changes upstream. For general guidance, follow\n[How do I submit patches to Android Common Kernels](https://android.googlesource.com/kernel/common/+/refs/heads/android-mainline/README.md)\nand\n[Develop Kernel Code for GKI](/docs/core/architecture/kernel/kernel-code).\n\nICU\n---\n\nMake all changes to the ICU project at `external/icu` (`icu4c/` and `icu4j/`\nfolders) on [ICU-TC](https://icu.unicode.org/). See\n[Submitting ICU Bugs and Feature Requests](https://icu.unicode.org/bugs) for\nmore.\n\nAdd the label \"android\" to all upstream Jira requests.\n\nCLDR\n----\n\nMost linguistic data in ICU comes from the\n[Unicode CLDR project](https://cldr.unicode.org/index). Submit\nall requests upstream according to\n[Contributing to CLDR](https://github.com/unicode-org/cldr/blob/main/CONTRIBUTING.md)\nand add the label \"android.\"\n\nLLVM/Clang/Compiler-rt\n----------------------\n\nMake all changes to LLVM-related projects upstream. For more information about\nhow Google builds our toolchains from upstream source, see\n[Android Clang/LLVM Toolchain](https://android.googlesource.com/toolchain/llvm_android/+/mirror-goog-main-llvm-toolchain-source/README.md).\n\nmksh\n----\n\nMake all changes to the MirBSD Korn Shell project at `external/mksh` either by\nsending an email to `miros-mksh` on the `mirbsd.org` domain (no subscription\nrequired to submit there) or at [Launchpad](https://launchpad.net/mksh)."]]