自 2025 年 3 月 27 日起,我們建議您使用 android-latest-release
而非 aosp-main
建構及貢獻 AOSP。詳情請參閱「Android 開放原始碼計畫變更」。
為上游專案做出貢獻
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
Android 會使用許多其他開放原始碼專案。這些專案大多位於 WORKING_DIRECTORY/external/
中,您可以按照下列步驟對這些專案進行變更:
- 前往
WORKING_DIRECTORY/external/upstream-project
- 查看
METADATA
檔案。這個檔案通常會包含網址項目,您可以從中找到有關如何為專案貢獻內容的資訊。
- 對上游專案進行變更後,請通知 Android 維護人員,讓他們知道包含變更內容的新上游版本。
本頁的其餘部分會提供有關為特定上游專案做出貢獻的額外資訊。
Bionic
Bionic 的大部分程式碼都來自 BSD,因此除非變更的程式碼是 Bionic 的新程式碼,否則請進行上游修正,然後從適當的 BSD 提取全新的檔案。
Android 核心
請在上游進行所有變更。如需一般指引,請參閱「如何將修補程式提交至 Android 通用核心」和「為 GKI 開發核心程式碼」。
ICU
在 ICU-TC 上,對 external/icu
中的 icu4c/
和 icu4j/
資料夾進行所有 ICU 專案變更。詳情請參閱「提交 ICU 錯誤和功能要求」一文。
將「android」標籤新增至所有上游 Jira 要求。
CLDR
ICU 中的大部分語言資料都來自 Unicode CLDR 專案。根據「為 CLDR 做出貢獻」提交所有上游要求,並新增「android.」標籤。
LLVM/Clang/Compiler-rt
對 LLVM 相關專案的上游進行所有變更。如要進一步瞭解 Google 如何從上游來源建構工具鍊,請參閱 Android Clang/LLVM 工具鍊。
mksh
請在 external/mksh
中對 MirBSD Korn Shell 專案進行所有變更,方法是傳送電子郵件至 mirbsd.org
網域的 miros-mksh
(提交時不需要訂閱),或在 Launchpad 中進行變更。
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-07-27 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-07-27 (世界標準時間)。"],[],[],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)."]]