Skip to content

Bump Android Gradle Plugin to 9.3.2 (with Gradle/toolchain updates) - #32

Merged
Miyamura80 merged 2 commits into
mainfrom
claude/agp18-work
Aug 28, 2026
Merged

Bump Android Gradle Plugin to 9.3.2 (with Gradle/toolchain updates)#32
Miyamura80 merged 2 commits into
mainfrom
claude/agp18-work

Conversation

@Miyamura80

@Miyamura80 Miyamura80 commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Supersedes #18.

Dependabot #18 bumped the Android Gradle Plugin from 8.7.2 to 9.3.2 (a major jump) but changed only agp in gradle/libs.versions.toml. AGP 9 raises its required toolchain, so that alone will not build. This PR is based on #18's branch and adds the rest of what AGP 9.3.2 needs.

Versions changed and why

Change From To Why
AGP (com.android.application) 8.7.2 9.3.2 The Dependabot bump (carried over)
Gradle wrapper 8.9 9.5.0 AGP 9.3 requires Gradle 9.5.0+ (per the AGP 9.3 release notes)
Kotlin (KGP) 2.0.21 2.2.10 AGP 9 requires a minimum Kotlin Gradle Plugin of 2.2.10
compileSdk / targetSdk 35 36 AGP 9 supports API 36/36.1; 35 is below its floor

Other AGP 9 adjustments

  • Added android.builtInKotlin=false and android.newDsl=false to gradle.properties. AGP 9 turns both on by default; built-in Kotlin drops the org.jetbrains.kotlin.android plugin and the new DSL is incompatible with it. This project keeps the external org.jetbrains.kotlin.android + kotlin-serialization plugins and the classic Android DSL, so it opts out of both (the opt-out is supported through the AGP 9.x line and is slated for removal in AGP 10).

Unchanged

  • JDK stays 17 — AGP 9.3's minimum JDK is 17, so .github/workflows/android.yml needs no change.
  • minSdk stays 26. No packagingOptions/lint-DSL/variant-API usage that AGP 9 removed. All sources are Kotlin, and android.nonTransitiveRClass=true is already set.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NgN7YdfLT41kWnWqe1MPZa


Generated by Claude Code


Summary by cubic

Upgrades the Android Gradle Plugin from 8.7.2 to 9.3.2 and updates the surrounding toolchain to AGP 9's minimum requirements so the project builds again.

  • Bumps the Gradle wrapper to 9.5.0 and Kotlin to 2.2.10, which AGP 9.3 and AGP 9 require respectively.
  • Raises compileSdk and targetSdk from 35 to 36, the supported API level for AGP 9.
  • Opts out of AGP 9's built-in Kotlin and new DSL defaults to keep the external org.jetbrains.kotlin.android and kotlin-serialization plugins and the classic Android DSL; the opt-out is supported through AGP 9.x and removed in AGP 10.
  • JDK stays 17, so no CI changes are needed.

Written for commit c8e2d6d. Summary will update on new commits.

Review in cubic

dependabot Bot and others added 2 commits August 28, 2026 14:09
Bumps com.android.application from 8.7.2 to 9.3.2.

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-version: 9.3.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Dependabot #18 bumped AGP to 9.3.2 but AGP 9 needs a newer toolchain:
- Gradle wrapper 8.9 -> 9.5.0 (AGP 9.3 minimum)
- Kotlin (KGP) 2.0.21 -> 2.2.10 (AGP 9 minimum KGP)
- compileSdk/targetSdk 35 -> 36 (AGP 9 minimum/supported API)
- Opt out of AGP 9 defaults builtInKotlin and newDsl to keep the external
  org.jetbrains.kotlin.android + kotlin-serialization plugins and classic DSL

JDK stays 17 (AGP 9.3 minimum), CI unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NgN7YdfLT41kWnWqe1MPZa
@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 4 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="gradle/wrapper/gradle-wrapper.properties">

<violation number="1" location="gradle/wrapper/gradle-wrapper.properties:3">
P3: This toolchain bump leaves the repository setup documentation advertising Gradle 8.9, AGP 8.7.x, and SDK 35. Update `README.md` and `CLAUDE.md` so contributors install and use the new Gradle, plugin, and SDK versions.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This toolchain bump leaves the repository setup documentation advertising Gradle 8.9, AGP 8.7.x, and SDK 35. Update README.md and CLAUDE.md so contributors install and use the new Gradle, plugin, and SDK versions.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At gradle/wrapper/gradle-wrapper.properties, line 3:

<comment>This toolchain bump leaves the repository setup documentation advertising Gradle 8.9, AGP 8.7.x, and SDK 35. Update `README.md` and `CLAUDE.md` so contributors install and use the new Gradle, plugin, and SDK versions.</comment>

<file context>
@@ -1,6 +1,6 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip
 networkTimeout=10000
 validateDistributionUrl=true
</file context>

@Miyamura80
Miyamura80 merged commit fb794bd into main Aug 28, 2026
3 checks passed
@github-actions
github-actions Bot deleted the claude/agp18-work branch August 28, 2026 16:56
Miyamura80 added a commit that referenced this pull request Aug 28, 2026
The old CLAUDE.md had drifted stale (it still listed Gradle 8.9 / AGP 8.7 /
compileSdk 35, all superseded by #32) and buried the facts a fresh agent
actually can't discover by reading code. Cut it to a short, high-signal file
and move the procedural detail into a skill.

CLAUDE.md now leads with the environment facts that are invisible from the
source: no Android SDK in the cloud sandbox (gradle build/lint/test fail
locally; CI is the sole gate), the per-call-site lint MissingPermission rule,
and that trifecta/policy classification lives in the edison-watch repo. Points
at libs.versions.toml as the version source of truth instead of copying numbers
that rot.

New .claude/skills/add-mobile-module skill carries the module contract
(*Source interface + Android*.kt impl + JVM test), the in-band-error and
hex-payload rules, the SecurityException-in-the-same-function lint gotcha, and
the JVM scratch-project recipe for verifying module logic without the SDK.


Claude-Session: https://claude.ai/code/session_01NgN7YdfLT41kWnWqe1MPZa

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants