Android makes use of a number of other open source projects as described in
Release lifecycle. Most of these
projects reside within WORKING_DIRECTORYexternal/
, and
you can follow these steps to make the changes to those projects:
- Navigate to
WORKING_DIRECTORY/external/upstream-project
. - View the
METADATA
file. This file usually has an entry for a URL where you can find information on contributing to the project. - After your changes have been made to the upstream project, inform the Android maintainers of the new upstream release that contains your changes.
The remainder of this page provides additional information on contributing to specific upstream projects.
Bionic
Most of the code for Bionic is from BSD, so unless the change is to code that's new to Bionic, make an upstream fix and then a pull of a whole new file from the appropriate BSD.
Android kernel
Make all changes upstream. For general guidance, follow How do I submit patches to Android Common Kernels and Develop Kernel Code for GKI.
ICU
Make all changes to the ICU project at external/icu
(icu4c/
and icu4j/
folders) on ICU-TC. See
Submitting ICU Bugs and Feature Requests for
more.
Add the label "android" to all upstream Jira requests.
CLDR
Most linguistic data in ICU comes from the Unicode CLDR project. Submit all requests upstream according to Contributing to CLDR and add the label "android."
LLVM/Clang/Compiler-rt
Make all changes to LLVM-related projects upstream. For more information about how Google builds our toolchains from upstream source, see https://android.googlesource.com/toolchain/llvm_android/+/main/README.md.
mksh
Make all changes to the MirBSD Korn Shell project at external/mksh
either by
sending an email to miros-mksh
on the mirbsd.org
domain (no subscription
required to submit there) or at Launchpad.