Tracking issue — deferred (do after the routine dependency bumps). Filed now so it's in the backlog; not yet scheduled.
Scope
- Gradle wrapper: 9.2.1 → 9.6.1 (
gradle/wrapper/gradle-wrapper.properties)
- AGP
com.android.application: 8.12.3 → 9.1.1 (build.gradle root) — major version jump (8 → 9)
Why it needs care
AGP 9 is a major release with breaking changes: removes deprecated DSL/APIs, changes some defaults, requires Gradle 9.x (we have it) and JDK 17+ (we're on 25). This app is Java-only (no Kotlin), so the migration is usually smooth, but:
- Must build clean (
assembleDebug + assembleRelease) — the release build uses R8/minify, worth confirming.
- Requires an on-device retest since AGP can shift build/packaging behavior.
- Consider running the AGP Upgrade Assistant / reviewing the AGP 9 release notes for any DSL our
build.gradle uses (e.g. the incrementVersion task hook, lint { error 'MissingTranslation' }).
Plan when scheduled
- Bump Gradle wrapper → 9.6.1, verify build.
- Bump AGP → 9.1.1, fix any DSL breakages, verify
assembleDebug + assembleRelease + test.
- Build to device, user retests core flows.
Tracking issue — deferred (do after the routine dependency bumps). Filed now so it's in the backlog; not yet scheduled.
Scope
gradle/wrapper/gradle-wrapper.properties)com.android.application: 8.12.3 → 9.1.1 (build.gradleroot) — major version jump (8 → 9)Why it needs care
AGP 9 is a major release with breaking changes: removes deprecated DSL/APIs, changes some defaults, requires Gradle 9.x (we have it) and JDK 17+ (we're on 25). This app is Java-only (no Kotlin), so the migration is usually smooth, but:
assembleDebug+assembleRelease) — the release build uses R8/minify, worth confirming.build.gradleuses (e.g. theincrementVersiontask hook,lint { error 'MissingTranslation' }).Plan when scheduled
assembleDebug+assembleRelease+test.