docs(contributing): document Android SDK location for components build - #11490
docs(contributing): document Android SDK location for components build#11490khaledhaltam wants to merge 1 commit into
Conversation
Explain that the components/ included build needs its own SDK location. List both ways to provide it and the Windows path escaping rule. Add it as a troubleshooting step where the sync failure appears. Fixes thunderbird#11485
|
✅ Validation Passed: All report and feature-flag labels are correctly set. |
There was a problem hiding this comment.
🟢 Approval recommended
The change is documentation-only, aligns with the reported issue, and introduces no code or build-logic risk.
Pull request overview
This PR updates the contributor development environment guide to document how to resolve Gradle sync/build failures caused by the components/ included build not seeing the Android SDK location configured in the repository root.
Changes:
- Adds a troubleshooting section for the
SDK location not foundsync error specific to thecomponents/included build. - Documents where to find the SDK path in Android Studio and how to configure it via either global Gradle user properties or
components/local.properties. - Adds OS-specific locations for the Gradle user
gradle.propertiesfile and notes about Windows path escaping in.propertiesfiles.
File summaries
| File | Description |
|---|---|
| docs/contributing/development-environment.md | Adds a targeted troubleshooting step explaining how to set the Android SDK path for the components/ included build to avoid sync/build failures. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
The require-report-label check is failing because I don't have permission to set labels on this repository. This is contributor documentation only, with no user-facing change, so report: exclude looks like the right category to me. Could someone with triage rights add it? |
Contribution Summary
Linked Issue/Ticket: Resolves #11485
RFC / Technical Design (if applicable): n/a
Description
Adds a troubleshooting step to the development environment guide.
Android Studio writes
sdk.dironly into thelocal.propertiesin the repository root. Sincecomponents/is a separate included build, it does not read that file, so the initial Gradle sync and any build touchingcomponents/fail withSDK location not found.The new step says where to find the SDK path in Android Studio, names both ways to provide it, points out that the file may have to be created, and gives the path to the Gradle user properties file per operating system.
Reproduced by all three of us on our own machines, two on macOS and one on Windows. Verified on macOS on commit e8c9345, with a cleared configuration cache and no
ANDROID_HOMEset: without either setting:components:ui:bolt:compileAndroidMainfails, withsystemProp.android.homein~/.gradle/gradle.propertiesorsdk.dirincomponents/local.propertiesa full:app-thunderbird:assembleFossDebugsucceeds.Gradle tasks run on this branch:
./gradlew checkand./gradlew spotlessFlexmarkCheck, both pass. Not run:./gradlew connectedAndroidTest, no device available; the change touches one Markdown file, so no instrumented tests are affected.Risks and trade-offs
Documentation only, no code or build behaviour changes. The underlying cause could alternatively be fixed in the build itself by propagating
sdk.dirfrom the rootlocal.propertiesinto thecomponentsbuild via theandroid.homesystem property. That was tested locally and works, but it mutates global JVM state in the Gradle daemon, so it is left to the maintainers to decide whether they prefer that over documenting the manual step.Verified on macOS only.
systemProp.android.homeis listed first but has not been confirmed on Windows or Linux.Screen Shots
n/a, documentation only.
AI Disclosure
Select one of the following (mandatory)
Contribution Checklist