Code with respect  |  Android Open Source Project Skip to main content Docs What's new? Release notes Latest security bulletins Latest Compatibility Definition Document (CDD) Site updates Getting Started About Start Download Builds Test Create Contribute Community Tools, build, and related reference Security Overview Bulletins Features Testing Best Practices Core Topics Architecture Audio Camera Connectivity Data Display Fonts Graphics Interaction Media Performance Permissions Power Runtime Settings Storage Tests Updates Virtualization Compatibility Compatibility Definition Document (CDD) Compatibility Test Suite (CTS) Android Devices Cuttlefish Enterprise TV Automotive Overview Software Defined Vehicle In-vehicle Infotainment Release Details Reference HIDL HAL Trade Federation Security Test Suite Android Code Search / English 中文 – 简体 Sign in Documentation What's New? Getting Started Security Core Topics Compatibility Android Devices Automotive Reference Docs More What's New? Getting Started Security Core Topics Compatibility Android Devices Automotive Reference Android Code Search Overview About AOSP overview FAQ Start Try Android development Understand terminology Set up for AOSP development (9.0 or later) Set up for AOSP development (2.3 - 8.0) Download Download the Android source Troubleshoot and fix sync issues Source control tools Build Build overview Build Android Use feature launch flags Feature launch flag overview Determine flag usage and type Declare an aconfig flag Wrap code change in feature launch flag Set feature launch flag values Change a flag's value at runtime Declare and use a build flag Test code within feature launch flags Build kernels Build Pixel kernels Convert from Make to Soong Implement Java SDK library Android Rust Introduction Android Rust modules Binary modules Library modules Test modules Fuzz modules Source generators Source generators overview Bindgen bindings modules Protobuf modules Hello Rust example Android Rust patterns Rust IDE setup Compile with Jack (6.0 - 8.1) Create Source control workflow Custom device development Add a new device type Build for 32-bit and 64-bit architectures Use reference boards Create a software bill of materials (SBOM) Configure and handle update ownership for apps Test Test a build Flash with Fastboot Flash with Android Flash Tool Test with the cuttlefish emulator Use Android Emulator virtual devices Contribute Overview Android Code Search Contributor license agreements and headers Release lifecycle Submit code changes Contribute to upstream projects Git source editor Review a change Download build artifacts Report and track bugs Code with respect AOSP Java code style for contributors API guidelines Overview Android async and nonblocking API guidelines Android API client-side caching guidelines Community Code of conduct Discussion groups, contacts, and additional resources Tools, build, and related reference Overview Android.bp file format Kernel branches and their build systems Codenames, tags, and build numbers Fastboot key combinations Repo command reference What's new? Release notes Latest security bulletins Latest Compatibility Definition Document (CDD) Site updates Getting Started About Start Download Builds Test Create Contribute Community Tools, build, and related reference Security Overview Bulletins Features Testing Best Practices Core Topics Architecture Audio Camera Connectivity Data Display Fonts Graphics Interaction Media Performance Permissions Power Runtime Settings Storage Tests Updates Virtualization Compatibility Compatibility Definition Document (CDD) Compatibility Test Suite (CTS) Android Devices Cuttlefish Enterprise TV Automotive Overview Software Defined Vehicle In-vehicle Infotainment Release Details Reference HIDL HAL Trade Federation Security Test Suite Effective in 2026, to align with our trunk stable development model and ensure platform stability for the ecosystem, we will publish source code to AOSP in Q2 and Q4. For building and contributing to AOSP, use android-latest-release. The android-latest-release manifest branch will always reference the most recent release pushed to AOSP. For more information, see Changes to AOSP. AOSP Docs Getting Started Code with respect Stay organized with collections Save and categorize content based on your preferences. Inclusivity is central to Android’s culture, and our values include treating each other with dignity. As such, it’s important that everyone can contribute without facing the harmful effects of bias and discrimination. However, terms in our codebase, user interfaces, and documentation can perpetuate that discrimination. This policy gives guidance to address disrespectful terminology in code, interfaces, and documentation. See Code of conduct for more information about Android standards. Policy Terminology that is derogatory, hurtful, or perpetuates discrimination, either directly or indirectly, should be avoided. This agrees with Google’s guidance on writing inclusive documentation. The scope for this policy The scope of this policy includes anything that a contributor would read while working on Android, including but not limited to: Names of variables, types, functions, files, build rules, binaries, exported variables Test data System output and displays Comments and documentation (both inside and outside of source files) Commit messages Principles Be respectful: Derogatory language shouldn’t be necessary to describe how things work. Use culturally appropriate language: Some words might have significant historical or political meanings. Please consider this and use alternatives. Determine if a particular terminology is OK or not Apply the principles above. If you have any questions, you can reach out to android-community@googlegroups.com. Examples of terminology to avoid This list is NOT meant to be comprehensive. It contains a few examples that people have run into frequently. Note that it's always worth considering whether a comment adds any value. Sometimes the best fix is to remove the comment entirely. For example, a comment saying only "Sanity check the header" immediately before a function called verify_header doesn't add any value even if you're writing the doc comment for public API. Be more specific about what is being checked, for example "Check header for out of range values". Term Suggested alternatives master/slave See alternatives for master and slave. redline priority line, track changes, design specs, UI annotations, exception, anomaly, special case, replacement list whitelist/blacklist See alternatives for blacklist. (dark|light) graylist For APIs: (graylist) "non-SDK API lists" (dark-graylist) "conditionally blocked" when referring to all max-target-sdk lists as a group, or "max-target-X" when referring to a specific list (light-graylist) "unsupported" crazy, insane, cripple See Avoid ableist language for guidelines. sanity check The word "check" alone often conveys the same meaning. Otherwise consider validate, verify, quick check, initial check, confidence check, soundness check, calibration check, readiness check. dummy unused, placeholder, no-op, base, fake/mock/stub. grandfathered See alternatives for grandfathered for guidelines. gendered pronouns (for example, he or she) they, them, their man-in-the-middle (MITM) on-path attacker (black|white|gray) hat ethical/unethical first-class citizen core feature, built-in, top-level When changing the language changes the meaning In some circumstances, changing the language in the specification might interfere with the ability to understand the implementation, particularly when implementing code specifications. For these circumstances, we suggest one of the following, in order of decreasing preference: If using alternate terminology doesn't interfere with understanding, use alternate terminology. Don't propagate the terminology beyond the layer of code that is performing the interfacing. Where necessary, use alternative terminology at the API boundaries. If you can't fix the language yourself, file a bug with the respective team. Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates. Last updated 2026-06-17 UTC. [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-06-17 UTC."],[],[]] Build Android repository Requirements Downloading Preview binaries Factory images Driver binaries Connect @Android on X @AndroidDev on X Android Blog Google Security Blog Platform on Google Groups Building on Google Groups Porting on Google Groups Get help Android Help Center Pixel Help Center www.android.com Google Mobile Services Stack Overflow Issue Tracker About Android Community Legal License Privacy Site feedback Manage cookies English 中文 – 简体