自 2025 年 3 月 27 日起,我们建议您使用 android-latest-release
而非 aosp-main
构建 AOSP 并为其做出贡献。如需了解详情,请参阅 AOSP 的变更。
为上游项目做出贡献
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Android 会使用许多其他开源项目。这些项目中的大多数都位于 WORKING_DIRECTORYexternal/
中,您可以按照以下步骤对这些项目进行更改:
- 进入“
WORKING_DIRECTORY/external/upstream-project
”。
- 查看
METADATA
文件。此文件通常包含一个网址条目,您可以在其中找到有关为项目做出贡献的信息。
- 在您对上游项目做出更改后,请将包含这些更改的新上游版本告知 Android 维护人员。
本页的其余内容提供了有关为特定上游项目做出贡献的其他信息。
Bionic
Bionic 的大部分代码都是来自 BSD,所以除非是对 Bionic 的新代码进行更改,否则请进行上游修复,然后从适当的 BSD 提取全新文件。
Android 内核
在上游进行所有更改。如需获得一般性指导,请参阅如何向 Android 通用内核提交补丁和为 GKI 开发内核代码。
ICU
在 ICU-TC 上的 external/icu
(icu4c/
和 icu4j/
文件夹)进行对 ICU 项目的所有更改。如需了解详情,请参阅提交 ICU bug 和功能请求。
向所有上游 Jira 请求添加标签“android”。
CLDR
ICU 中的大多数语言数据都来自 Unicode CLDR 项目。根据为 CLDR 贡献代码向上游提交所有请求,并添加标签“android”。
LLVM/Clang/Compiler-rt
在上游进行对 LLVM 相关项目的所有更改。如需详细了解 Google 如何从上游源代码构建工具链,请参阅 https://android.googlesource.com/toolchain/llvm_android/+/main/README.md。
mksh
在 external/mksh
对 MirBSD Korn Shell 项目进行所有更改,方式是发送电子邮件到 mirbsd.org
网域上的 miros-mksh
(无需订阅即可提交),或在 Launchpad 进行。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-03-26。
[null,null,["最后更新时间 (UTC):2025-03-26。"],[],[],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)."]]