Skip to content

Update Android Gradle Plugin to 9.2.1#16228

Open
malinajirka wants to merge 3 commits into
issue/agp9-nav-bumpfrom
issue/agp-9-upgrade
Open

Update Android Gradle Plugin to 9.2.1#16228
malinajirka wants to merge 3 commits into
issue/agp9-nav-bumpfrom
issue/agp-9-upgrade

Conversation

@malinajirka

@malinajirka malinajirka commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

This is part of a chain of PRs that take us to AGP 9. They are stacked, so each targets the one above it and should merge top-down:

  1. Fix time-dependent assertion in RefundStoreTest #16234 — RefundStoreTest fix (targets trunk; a pre-existing timing-dependent failure the chain is stacked on)
  2. Prepare build config for AGP 9 and validate in-app update type #16226 — build config prep
  3. Update androidx navigation to 2.9.8 #16227 — androidx navigation bump
  4. Update Android Gradle Plugin to 9.2.1 #16228 — the AGP 9 update itself (this PR)

Each one keeps its base green on its own.

Description

Updates AGP from 8.13.2 to 9.2.1. Gradle 9.5.1, Kotlin 2.3.21 and JDK 21 already satisfy its requirements, so the work is all in the plugin changes below. Everything that could reasonably be split out already landed in the two PRs above; what's left has to move together.

Upstream release notes:

Dependency Change Release notes
Android Gradle Plugin 8.13.2 → 9.2.1 AGP 9.0 (the breaking one), AGP 9.2
Dagger / Hilt 2.58 → 2.60.1 2.59, 2.60.1

Google's migration guide: Migrate to built-in Kotlin.

Built-in Kotlin. AGP 9 compiles Kotlin out of the box and refuses to apply org.jetbrains.kotlin.android, so it's dropped from all 12 Android modules and the root build file. The root compilerOptions block still applies — the compile task type is unchanged — so jvmTarget, allWarningsAsErrors and our freeCompilerArgs (including -Xannotation-default-target=param-property) are all still in effect. JVM-only modules keep using the Kotlin JVM plugin, which is unaffected.

kapt. kapt is incompatible with built-in Kotlin => I've used com.android.legacy-kapt to keep this PR focused on the AGP migration.

Two things worth calling out, because they're the reason this PR can't be split any further:

  • Opting out isn't viable. Setting android.builtInKotlin=false (plus android.newDsl=false) looks like the low-risk path, but it deadlocks :libs:fluxc and :libs:fluxc-plugin test fixtures on a kapt → kaptGenerateStubs → ksp → kapt task cycle. That's google/ksp#2743, which upstream fixed only for the built-in Kotlin + legacy-kapt combination — we're on KSP 2.3.9 and the KGP-kapt path is still broken. Unit tests would be red on trunk.
  • Dagger has to come along. Hilt 2.58 can't read AGP 9's DSL, and every version from 2.59 up requires AGP 9.0.0 or higher. There is no version that works with both, so Dagger 2.58 → 2.60.1 belongs in this commit.

I've also verified it doesn't have a negative impact on build times - I didn't run a full cycle, so these numbers are rough, but I believe they are good enough for this use-case:

Scenario Trunk (AGP 8.13.2) AGP 9 branch
Clean full build (2 samples) 2m58s, 2m28s → mean 2m43s 2m54s, 2m24s → mean 2m39s
Incremental (ABI change), 2 samples 33.8s, 28.7s → mean 31.3s 30.6s, 22.4s → mean 26.5s
Up-to-date build, 2 samples 1.8s, 1.6s → mean 1.7s 3.1s, 1.3s → mean 2.2s

Test Steps

Smoke test the app.

Images/gif

N/A

  • I have considered if this change warrants release notes and have added them to RELEASE-NOTES.txt if necessary. Use the "[Internal]" label for non-user-facing changes.

@malinajirka malinajirka added category: tooling Anything that involves building & maintaining the project, including scripts, `Fastfile`, etc. type: task An internally driven task. labels Jul 8, 2026
@malinajirka malinajirka added this to the 25.2 milestone Jul 8, 2026
@wpmobilebot

Copy link
Copy Markdown
Collaborator

Project dependencies changes

list
! Upgraded Dependencies
androidx.databinding:viewbinding:9.2.1, (changed from 8.13.2)
com.google.dagger:dagger:2.60.1, (changed from 2.58)
com.google.dagger:dagger-android:2.60.1, (changed from 2.58)
com.google.dagger:dagger-android-support:2.60.1, (changed from 2.58)
com.google.dagger:dagger-lint-aar:2.60.1, (changed from 2.58)
com.google.dagger:hilt-android:2.60.1, (changed from 2.58)
com.google.dagger:hilt-core:2.60.1, (changed from 2.58)
tree
-+--- androidx.databinding:viewbinding:8.13.2
-|    \--- androidx.annotation:annotation:1.0.0 -> 1.10.0
-|         \--- androidx.annotation:annotation-jvm:1.10.0
-|              \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.3.21
-|                   +--- org.jetbrains:annotations:13.0 -> 23.0.0
-|                   +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.24 (c)
-|                   +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.24 (c)
-|                   \--- org.jetbrains.kotlin:kotlin-stdlib-common:2.3.21 (c)
-+--- org.jetbrains.kotlin:kotlin-stdlib:2.3.21 (*)
++--- org.jetbrains.kotlin:kotlin-stdlib:2.3.21
+|    +--- org.jetbrains:annotations:13.0 -> 23.0.0
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.24 (c)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.24 (c)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:2.3.21 (c)
++--- androidx.databinding:viewbinding:9.2.1
+|    +--- androidx.annotation:annotation:1.0.0 -> 1.10.0
+|    |    \--- androidx.annotation:annotation-jvm:1.10.0
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 -> 2.3.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.21 (*)
 +--- project :libs:fluxc
-|    \--- com.google.dagger:dagger:2.58
+|    \--- com.google.dagger:dagger:2.60.1
 +--- project :libs:fluxc-plugin
-|    \--- com.google.dagger:dagger:2.58 (*)
+|    \--- com.google.dagger:dagger:2.60.1 (*)
 +--- project :libs:login
-|    +--- com.google.dagger:dagger:2.58 (*)
+|    +--- com.google.dagger:dagger:2.60.1 (*)
-|    \--- com.google.dagger:dagger-android-support:2.58
-|         +--- com.google.dagger:dagger:2.58 (*)
-|         +--- com.google.dagger:dagger-android:2.58
-|         |    +--- com.google.dagger:dagger:2.58 (*)
-|         |    +--- com.google.dagger:dagger-lint-aar:2.58
-|         |    +--- androidx.annotation:annotation:1.7.1 -> 1.10.0 (*)
-|         |    \--- javax.inject:javax.inject:1
-|         +--- com.google.dagger:dagger-lint-aar:2.58
-|         +--- androidx.activity:activity:1.5.1 -> 1.13.0 (*)
-|         +--- androidx.annotation:annotation:1.7.1 -> 1.10.0 (*)
-|         +--- androidx.appcompat:appcompat:1.3.1 -> 1.7.1 (*)
-|         +--- androidx.fragment:fragment:1.5.1 -> 1.8.9 (*)
-|         +--- androidx.lifecycle:lifecycle-common:2.5.1 -> 2.10.0 (*)
-|         +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1 -> 2.10.0 (*)
-|         +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1 -> 2.10.0 (*)
-|         \--- javax.inject:javax.inject:1
+|    \--- com.google.dagger:dagger-android-support:2.60.1
+|         +--- com.google.dagger:dagger:2.60.1 (*)
+|         +--- com.google.dagger:dagger-android:2.60.1
+|         |    +--- com.google.dagger:dagger:2.60.1 (*)
+|         |    +--- com.google.dagger:dagger-lint-aar:2.60.1
+|         |    +--- androidx.annotation:annotation:1.7.1 -> 1.10.0 (*)
+|         |    \--- javax.inject:javax.inject:1
+|         +--- com.google.dagger:dagger-lint-aar:2.60.1
+|         +--- androidx.activity:activity:1.5.1 -> 1.13.0 (*)
+|         +--- androidx.annotation:annotation:1.7.1 -> 1.10.0 (*)
+|         +--- androidx.appcompat:appcompat:1.3.1 -> 1.7.1 (*)
+|         +--- androidx.fragment:fragment:1.5.1 -> 1.8.9 (*)
+|         +--- androidx.lifecycle:lifecycle-common:2.5.1 -> 2.10.0 (*)
+|         +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1 -> 2.10.0 (*)
+|         +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1 -> 2.10.0 (*)
+|         \--- javax.inject:javax.inject:1
 +--- project :libs:pos
 |    +--- project :libs:commons
-|    |    \--- com.google.dagger:hilt-android:2.58
-|    |         +--- com.google.dagger:dagger:2.58 (*)
-|    |         +--- com.google.dagger:dagger-lint-aar:2.58
-|    |         +--- com.google.dagger:hilt-core:2.58
-|    |         |    +--- com.google.dagger:dagger:2.58 (*)
-|    |         |    +--- com.google.code.findbugs:jsr305:3.0.2
-|    |         |    +--- jakarta.inject:jakarta.inject-api:2.0.1
-|    |         |    \--- javax.inject:javax.inject:1
-|    |         +--- com.google.code.findbugs:jsr305:3.0.2
-|    |         +--- androidx.activity:activity:1.5.1 -> 1.13.0 (*)
-|    |         +--- androidx.annotation:annotation:1.7.1 -> 1.10.0 (*)
-|    |         +--- androidx.annotation:annotation-experimental:1.3.1 -> 1.5.0 (*)
-|    |         +--- androidx.fragment:fragment:1.5.1 -> 1.8.9 (*)
-|    |         +--- androidx.lifecycle:lifecycle-common:2.5.1 -> 2.10.0 (*)
-|    |         +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1 -> 2.10.0 (*)
-|    |         +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1 -> 2.10.0 (*)
-|    |         +--- androidx.savedstate:savedstate:1.2.0 -> 1.4.0 (*)
-|    |         +--- javax.inject:javax.inject:1
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.20 -> 2.3.21 (*)
+|    |    \--- com.google.dagger:hilt-android:2.60.1
+|    |         +--- com.google.dagger:dagger:2.60.1 (*)
+|    |         +--- com.google.dagger:dagger-lint-aar:2.60.1
+|    |         +--- com.google.dagger:hilt-core:2.60.1
+|    |         |    +--- com.google.dagger:dagger:2.60.1 (*)
+|    |         |    +--- com.google.code.findbugs:jsr305:3.0.2
+|    |         |    +--- jakarta.inject:jakarta.inject-api:2.0.1
+|    |         |    \--- javax.inject:javax.inject:1
+|    |         +--- com.google.code.findbugs:jsr305:3.0.2
+|    |         +--- androidx.activity:activity:1.5.1 -> 1.13.0 (*)
+|    |         +--- androidx.annotation:annotation:1.7.1 -> 1.10.0 (*)
+|    |         +--- androidx.annotation:annotation-experimental:1.3.1 -> 1.5.0 (*)
+|    |         +--- androidx.fragment:fragment:1.5.1 -> 1.8.9 (*)
+|    |         +--- androidx.lifecycle:lifecycle-common:2.5.1 -> 2.10.0 (*)
+|    |         +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1 -> 2.10.0 (*)
+|    |         +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1 -> 2.10.0 (*)
+|    |         +--- androidx.savedstate:savedstate:1.2.0 -> 1.4.0 (*)
+|    |         +--- javax.inject:javax.inject:1
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:2.3.21 (*)
-|    \--- com.google.dagger:hilt-android:2.58 (*)
+|    \--- com.google.dagger:hilt-android:2.60.1 (*)
 +--- project :libs:ai-assistant:feature
 |    +--- androidx.hilt:hilt-lifecycle-viewmodel-compose:1.3.0
 |    |    +--- androidx.hilt:hilt-lifecycle-viewmodel:1.3.0
-|    |    |    \--- com.google.dagger:hilt-android:2.54 -> 2.58 (*)
+|    |    |    \--- com.google.dagger:hilt-android:2.54 -> 2.60.1 (*)
-|    |    \--- com.google.dagger:hilt-android:2.54 -> 2.58 (*)
+|    |    \--- com.google.dagger:hilt-android:2.54 -> 2.60.1 (*)
-|    \--- com.google.dagger:hilt-android:2.58 (*)
+|    \--- com.google.dagger:hilt-android:2.60.1 (*)
 +--- project :libs:cardreader
 |    +--- com.stripe:stripeterminal-core:5.1.1
 |    |    \--- com.stripe:stripeterminal-internal-common:5.1.1
-|    |         \--- com.google.dagger:dagger:2.53 -> 2.58 (*)
+|    |         \--- com.google.dagger:dagger:2.53 -> 2.60.1 (*)
 |    \--- com.stripe:stripeterminal-taptopay:5.1.1
-|         +--- androidx.databinding:viewbinding:8.8.2 -> 8.13.2 (*)
+|         +--- androidx.databinding:viewbinding:8.8.2 -> 9.2.1 (*)
-|         \--- com.google.dagger:dagger:2.53 -> 2.58 (*)
+|         \--- com.google.dagger:dagger:2.53 -> 2.60.1 (*)
-+--- com.google.dagger:hilt-android:2.58 (*)
++--- com.google.dagger:hilt-android:2.60.1 (*)
 +--- androidx.hilt:hilt-work:1.3.0
 |    +--- androidx.hilt:hilt-common:1.3.0
-|    |    \--- com.google.dagger:hilt-core:2.54 -> 2.58 (*)
+|    |    \--- com.google.dagger:hilt-core:2.54 -> 2.60.1 (*)
-|    \--- com.google.dagger:hilt-android:2.54 -> 2.58 (*)
+|    \--- com.google.dagger:hilt-android:2.54 -> 2.60.1 (*)
 +--- com.zendesk:support:5.5.3
-|    +--- com.google.dagger:dagger-android:2.48.1 -> 2.58 (*)
+|    +--- com.google.dagger:dagger-android:2.48.1 -> 2.60.1 (*)
 |    +--- com.zendesk:guide:1.5.3
-|    |    +--- com.google.dagger:dagger-android:2.48.1 -> 2.58 (*)
+|    |    +--- com.google.dagger:dagger-android:2.48.1 -> 2.60.1 (*)
 |    |    +--- com.zendesk:guide-providers:1.3.2
-|    |    |    +--- com.google.dagger:dagger:2.48.1 -> 2.58 (*)
+|    |    |    +--- com.google.dagger:dagger:2.48.1 -> 2.60.1 (*)
 |    |    |    \--- com.zendesk:core:4.2.2
-|    |    |         \--- com.google.dagger:dagger:2.48.1 -> 2.58 (*)
+|    |    |         \--- com.google.dagger:dagger:2.48.1 -> 2.60.1 (*)
 |    |    \--- com.zendesk:messaging:5.7.3
-|    |         \--- com.google.dagger:dagger:2.48.1 -> 2.58 (*)
+|    |         \--- com.google.dagger:dagger:2.48.1 -> 2.60.1 (*)
 |    \--- com.zendesk:support-providers:5.3.2
-|         \--- com.google.dagger:dagger:2.48.1 -> 2.58 (*)
+|         \--- com.google.dagger:dagger:2.48.1 -> 2.60.1 (*)
 \--- org.wordpress:mediapicker:0.3.5
-     +--- com.google.dagger:hilt-android:2.58 (*)
+     +--- com.google.dagger:hilt-android:2.58 -> 2.60.1 (*)
-     \--- androidx.databinding:viewbinding:8.4.0 -> 8.13.2 (*)
+     \--- androidx.databinding:viewbinding:8.4.0 -> 9.2.1 (*)

Build environment changes

list
+ New Dependencies
com.android.legacy-kapt:com.android.legacy-kapt.gradle.plugin:9.2.1
com.android.tools.build:gradle-kotlin:9.2.1
com.android.tools.utp:gradle-work-action-api:32.2.1
org.apache.commons:commons-lang3:3.16.0

- Removed Dependencies
com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api
com.android.tools.utp:android-device-provider-ddmlib-proto:31.13.2
com.android.tools.utp:android-device-provider-profile-proto:31.13.2
com.android.tools.utp:android-test-plugin-host-additional-test-output-proto:31.13.2
com.android.tools.utp:android-test-plugin-host-apk-installer-proto:31.13.2
com.android.tools.utp:android-test-plugin-host-coverage-proto:31.13.2
com.android.tools.utp:android-test-plugin-host-emulator-control-proto:31.13.2
com.android.tools.utp:android-test-plugin-host-logcat-proto:31.13.2
com.android.tools.utp:android-test-plugin-result-listener-gradle-proto:31.13.2
com.google.android:annotations:4.1.1.4
com.google.api.grpc:proto-google-common-protos:2.48.0
com.google.testing.platform:core-proto:0.0.9-alpha03
com.sun.activation:javax.activation:1.2.0
io.grpc:grpc-api:1.69.1
io.grpc:grpc-context:1.69.1
io.grpc:grpc-core:1.69.1
io.grpc:grpc-inprocess:1.69.1
io.grpc:grpc-netty:1.69.1
io.grpc:grpc-protobuf:1.69.1
io.grpc:grpc-protobuf-lite:1.69.1
io.grpc:grpc-stub:1.69.1
io.grpc:grpc-util:1.69.1
io.netty:netty-buffer:4.1.110.Final
io.netty:netty-codec:4.1.110.Final
io.netty:netty-codec-http:4.1.110.Final
io.netty:netty-codec-http2:4.1.110.Final
io.netty:netty-codec-socks:4.1.110.Final
io.netty:netty-common:4.1.110.Final
io.netty:netty-handler:4.1.110.Final
io.netty:netty-handler-proxy:4.1.110.Final
io.netty:netty-resolver:4.1.110.Final
io.netty:netty-transport:4.1.110.Final
io.netty:netty-transport-native-unix-common:4.1.110.Final
io.perfmark:perfmark-api:0.27.0
javax.annotation:javax.annotation-api:1.3.2
org.codehaus.mojo:animal-sniffer-annotations:1.24
org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin:2.3.21
org.jetbrains.kotlin.kapt:org.jetbrains.kotlin.kapt.gradle.plugin:2.3.21

! Upgraded Dependencies
androidx.databinding:databinding-common:9.2.1, (changed from 8.13.2)
androidx.databinding:databinding-compiler-common:9.2.1, (changed from 8.13.2)
com.android.application:com.android.application.gradle.plugin:9.2.1, (changed from 8.13.2)
com.android.databinding:baseLibrary:9.2.1, (changed from 8.13.2)
com.android.library:com.android.library.gradle.plugin:9.2.1, (changed from 8.13.2)
com.android.test:com.android.test.gradle.plugin:9.2.1, (changed from 8.13.2)
com.android.tools.analytics-library:crash:32.2.1, (changed from 31.13.2)
com.android.tools.analytics-library:protos:32.2.1, (changed from 31.13.2)
com.android.tools.analytics-library:shared:32.2.1, (changed from 31.13.2)
com.android.tools.analytics-library:tracker:32.2.1, (changed from 31.13.2)
com.android.tools.build:aapt2-proto:9.2.1-15009934, (changed from 8.13.2-14304508)
com.android.tools.build:aaptcompiler:9.2.1, (changed from 8.13.2)
com.android.tools.build:apksig:9.2.1, (changed from 8.13.2)
com.android.tools.build:apkzlib:9.2.1, (changed from 8.13.2)
com.android.tools.build:builder:9.2.1, (changed from 8.13.2)
com.android.tools.build:builder-model:9.2.1, (changed from 8.13.2)
com.android.tools.build:builder-test-api:9.2.1, (changed from 8.13.2)
com.android.tools.build:bundletool:1.18.3, (changed from 1.18.1)
com.android.tools.build:gradle:9.2.1, (changed from 8.13.2)
com.android.tools.build:gradle-api:9.2.1, (changed from 8.13.2)
com.android.tools.build:gradle-common-api:9.2.1, (changed from 8.13.2)
com.android.tools.build:gradle-settings-api:9.2.1, (changed from 8.13.2)
com.android.tools.build:manifest-merger:32.2.1, (changed from 31.13.2)
com.android.tools.ddms:ddmlib:32.2.1, (changed from 31.13.2)
com.android.tools.layoutlib:layoutlib-api:32.2.1, (changed from 31.13.2)
com.android.tools.lint:lint-model:32.2.1, (changed from 31.13.2)
com.android.tools.lint:lint-typedef-remover:32.2.1, (changed from 31.13.2)
com.android.tools:annotations:32.2.1, (changed from 31.13.2)
com.android.tools:common:32.2.1, (changed from 31.13.2)
com.android.tools:dvlib:32.2.1, (changed from 31.13.2)
com.android.tools:repository:32.2.1, (changed from 31.13.2)
com.android.tools:sdk-common:32.2.1, (changed from 31.13.2)
com.android.tools:sdklib:32.2.1, (changed from 31.13.2)
com.android:signflinger:9.2.1, (changed from 8.13.2)
com.android:zipflinger:9.2.1, (changed from 8.13.2)
com.google.dagger.hilt.android:com.google.dagger.hilt.android.gradle.plugin:2.60.1, (changed from 2.58)
com.google.dagger:hilt-android-gradle-plugin:2.60.1, (changed from 2.58)
commons-codec:commons-codec:1.17.1, (changed from 1.11)
org.apache.commons:commons-compress:1.27.1, (changed from 1.21)
org.ow2.asm:asm:9.9, (changed from 9.8)
org.ow2.asm:asm-analysis:9.9, (changed from 9.8)
org.ow2.asm:asm-commons:9.9, (changed from 9.8)
org.ow2.asm:asm-tree:9.9, (changed from 9.8)
org.ow2.asm:asm-util:9.9, (changed from 9.8)
tree
-+--- com.android.application:com.android.application.gradle.plugin:8.13.2
-|    \--- com.android.tools.build:gradle:8.13.2
-|         +--- com.android.tools.build:gradle-settings-api:8.13.2
-|         |    +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.0 -> 2.3.20 (*)
-|         |    \--- com.android.tools.build:gradle-common-api:8.13.2
-|         |         +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.0 -> 2.3.20 (*)
-|         |         +--- com.android.tools.build:gradle-api:8.13.2 (c)
-|         |         \--- com.android.tools.build:gradle-settings-api:8.13.2 (c)
-|         +--- com.android.tools:sdk-common:31.13.2
-|         |    +--- com.android.tools.analytics-library:shared:31.13.2
-|         |    |    +--- com.android.tools.analytics-library:protos:31.13.2
-|         |    |    |    \--- com.google.protobuf:protobuf-java:3.25.5
-|         |    |    +--- com.android.tools:annotations:31.13.2
-|         |    |    +--- com.android.tools:common:31.13.2
-|         |    |    |    +--- com.android.tools:annotations:31.13.2
-|         |    |    |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
-|         |    |    |    +--- net.java.dev.jna:jna-platform:5.6.0
-|         |    |    |    |    \--- net.java.dev.jna:jna:5.6.0
-|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.0 -> 2.2.21 (*)
-|         |    |    +--- com.google.code.gson:gson:2.11.0
-|         |    |    |    \--- com.google.errorprone:error_prone_annotations:2.27.0 -> 2.43.0
-|         |    |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
-|         |    |    +--- net.java.dev.jna:jna-platform:5.6.0 (*)
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.0 -> 2.2.21 (*)
-|         |    +--- com.android.tools.build:aapt2-proto:8.13.2-14304508
-|         |    |    \--- com.google.protobuf:protobuf-java:3.25.5
-|         |    +--- com.android.tools:common:31.13.2 (*)
-|         |    +--- com.android.tools.ddms:ddmlib:31.13.2
-|         |    |    +--- com.android.tools:common:31.13.2 (*)
-|         |    |    +--- com.google.protobuf:protobuf-java:3.25.5
-|         |    |    +--- net.sf.kxml:kxml2:2.3.0
-|         |    |    \--- org.jetbrains:annotations:23.0.0
-|         |    +--- com.android.tools.layoutlib:layoutlib-api:31.13.2
-|         |    |    +--- com.android.tools:annotations:31.13.2
-|         |    |    +--- com.android.tools:common:31.13.2 (*)
-|         |    |    +--- net.sf.kxml:kxml2:2.3.0
-|         |    |    \--- org.jetbrains:annotations:23.0.0
-|         |    +--- com.android.tools:sdklib:31.13.2
-|         |    |    +--- com.android.tools:repository:31.13.2
-|         |    |    |    +--- com.android.tools.analytics-library:shared:31.13.2 (*)
-|         |    |    |    +--- com.android.tools:common:31.13.2 (*)
-|         |    |    |    +--- com.google.jimfs:jimfs:1.1
-|         |    |    |    |    \--- com.google.guava:guava:18.0 -> 33.5.0-jre (*)
-|         |    |    |    +--- com.sun.activation:javax.activation:1.2.0
-|         |    |    |    +--- org.apache.commons:commons-compress:1.21
-|         |    |    |    +--- org.glassfish.jaxb:jaxb-runtime:2.3.2
-|         |    |    |    |    +--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.2
-|         |    |    |    |    |    \--- jakarta.activation:jakarta.activation-api:1.2.1
-|         |    |    |    |    +--- org.glassfish.jaxb:txw2:2.3.2
-|         |    |    |    |    +--- com.sun.istack:istack-commons-runtime:3.0.8
-|         |    |    |    |    |    \--- jakarta.activation:jakarta.activation-api:1.2.1
-|         |    |    |    |    +--- org.jvnet.staxex:stax-ex:1.8.1
-|         |    |    |    |    |    +--- jakarta.activation:jakarta.activation-api:1.2.1
-|         |    |    |    |    |    \--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.2 (*)
-|         |    |    |    |    +--- com.sun.xml.fastinfoset:FastInfoset:1.2.16
-|         |    |    |    |    \--- jakarta.activation:jakarta.activation-api:1.2.1
-|         |    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.0 -> 2.2.21 (*)
-|         |    |    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
-|         |    |    +--- com.android.tools:common:31.13.2 (*)
-|         |    |    +--- com.android.tools:dvlib:31.13.2
-|         |    |    |    \--- com.android.tools:common:31.13.2 (*)
-|         |    |    +--- com.android.tools.layoutlib:layoutlib-api:31.13.2 (*)
-|         |    |    +--- com.google.code.gson:gson:2.11.0 (*)
-|         |    |    +--- org.apache.commons:commons-compress:1.21
-|         |    |    +--- org.apache.httpcomponents:httpcore:4.4.16
-|         |    |    +--- org.apache.httpcomponents:httpmime:4.5.6
-|         |    |    |    \--- org.apache.httpcomponents:httpclient:4.5.6 -> 4.5.14
-|         |    |    |         +--- org.apache.httpcomponents:httpcore:4.4.16
-|         |    |    |         +--- commons-logging:commons-logging:1.2
-|         |    |    |         \--- commons-codec:commons-codec:1.11
-|         |    |    \--- org.glassfish.jaxb:jaxb-runtime:2.3.2 (*)
-|         |    +--- com.google.code.gson:gson:2.11.0 (*)
-|         |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
-|         |    +--- com.google.protobuf:protobuf-java:3.25.5
-|         |    +--- javax.inject:javax.inject:1
-|         |    +--- net.sf.kxml:kxml2:2.3.0
-|         |    +--- org.apache.commons:commons-compress:1.21
-|         |    +--- org.bouncycastle:bcpkix-jdk18on:1.79
-|         |    |    +--- org.bouncycastle:bcprov-jdk18on:1.79
-|         |    |    \--- org.bouncycastle:bcutil-jdk18on:1.79
-|         |    |         \--- org.bouncycastle:bcprov-jdk18on:1.79
-|         |    +--- org.bouncycastle:bcprov-jdk18on:1.79
-|         |    +--- org.glassfish.jaxb:jaxb-runtime:2.3.2 (*)
-|         |    +--- org.jetbrains.kotlin:kotlin-reflect:2.2.0 -> 2.2.21 (*)
-|         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.0 -> 2.2.21 (*)
-|         +--- com.android.tools:sdklib:31.13.2 (*)
-|         +--- com.android.tools:repository:31.13.2 (*)
-|         +--- com.android.tools.ddms:ddmlib:31.13.2 (*)
-|         +--- com.android.tools.build:aapt2-proto:8.13.2-14304508 (*)
-|         +--- com.android.tools.build:aaptcompiler:8.13.2
-|         |    +--- com.android.tools.build:aapt2-proto:8.13.2-14304508 (*)
-|         |    +--- com.android.tools.layoutlib:layoutlib-api:31.13.2 (*)
-|         |    +--- com.android.tools:common:31.13.2 (*)
-|         |    +--- com.google.protobuf:protobuf-java:3.25.5
-|         |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
-|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.0 -> 2.3.20 (*)
-|         +--- com.android.tools.analytics-library:crash:31.13.2
-|         |    +--- com.android.tools:annotations:31.13.2
-|         |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
-|         |    +--- org.apache.httpcomponents:httpclient:4.5.14 (*)
-|         |    +--- org.apache.httpcomponents:httpcore:4.4.16
-|         |    \--- org.apache.httpcomponents:httpmime:4.5.6 (*)
-|         +--- com.android.tools.analytics-library:shared:31.13.2 (*)
-|         +--- com.android.tools.lint:lint-model:31.13.2
-|         |    +--- com.android.tools.build:builder-model:8.13.2
-|         |    |    +--- com.android.tools:annotations:31.13.2
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.0 -> 2.3.20 (*)
-|         |    +--- com.android.tools:common:31.13.2 (*)
-|         |    +--- com.android.tools:repository:31.13.2 (*)
-|         |    +--- com.android.tools:sdk-common:31.13.2 (*)
-|         |    +--- com.android.tools:sdklib:31.13.2 (*)
-|         |    +--- net.sf.kxml:kxml2:2.3.0
-|         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.0 -> 2.2.21 (*)
-|         +--- com.android.tools.lint:lint-typedef-remover:31.13.2
-|         |    +--- com.android.tools:annotations:31.13.2
-|         |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
-|         |    \--- org.ow2.asm:asm:9.8
-|         +--- androidx.databinding:databinding-compiler-common:8.13.2
-|         |    +--- androidx.databinding:databinding-common:8.13.2
-|         |    +--- com.android.databinding:baseLibrary:8.13.2
-|         |    +--- com.android.tools:annotations:31.13.2
-|         |    +--- com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10
-|         |    |    +--- com.google.code.gson:gson:2.8.0 -> 2.11.0 (*)
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 2.3.20 (*)
-|         |    +--- com.google.code.gson:gson:2.11.0 (*)
-|         |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
-|         |    +--- com.googlecode.juniversalchardet:juniversalchardet:1.0.3
-|         |    +--- com.squareup:javapoet:1.10.0 -> 1.13.0
-|         |    +--- commons-io:commons-io:2.16.1
-|         |    +--- org.glassfish.jaxb:jaxb-runtime:2.3.2 (*)
-|         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.0 -> 2.2.21 (*)
-|         +--- androidx.databinding:databinding-common:8.13.2
-|         +--- com.android.databinding:baseLibrary:8.13.2
-|         +--- com.android.tools.build:builder-test-api:8.13.2
-|         |    +--- com.android.tools.ddms:ddmlib:31.13.2 (*)
-|         |    +--- com.android.tools:annotations:31.13.2
-|         |    +--- com.android.tools:common:31.13.2 (*)
-|         |    \--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
-|         +--- com.android.tools.layoutlib:layoutlib-api:31.13.2 (*)
-|         +--- com.android.tools.utp:android-device-provider-ddmlib-proto:31.13.2
-|         |    \--- com.google.protobuf:protobuf-java:3.25.5
-|         +--- com.android.tools.utp:android-device-provider-profile-proto:31.13.2
-|         |    \--- com.google.protobuf:protobuf-java:3.25.5
-|         +--- com.android.tools.utp:android-test-plugin-host-additional-test-output-proto:31.13.2
-|         |    \--- com.google.protobuf:protobuf-java:3.25.5
-|         +--- com.android.tools.utp:android-test-plugin-host-coverage-proto:31.13.2
-|         |    \--- com.google.protobuf:protobuf-java:3.25.5
-|         +--- com.android.tools.utp:android-test-plugin-host-emulator-control-proto:31.13.2
-|         |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.0 -> 2.2.21 (*)
-|         |    \--- com.google.protobuf:protobuf-java:3.25.5
-|         +--- com.android.tools.utp:android-test-plugin-host-logcat-proto:31.13.2
-|         |    \--- com.google.protobuf:protobuf-java:3.25.5
-|         +--- com.android.tools.utp:android-test-plugin-host-apk-installer-proto:31.13.2
-|         |    \--- com.google.protobuf:protobuf-java:3.25.5
-|         +--- com.android.tools.utp:android-test-plugin-result-listener-gradle-proto:31.13.2
-|         |    +--- com.google.code.gson:gson:2.11.0 (*)
-|         |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
-|         |    +--- io.grpc:grpc-core:1.69.1
-|         |    |    +--- io.grpc:grpc-api:1.69.1
-|         |    |    |    +--- com.google.code.findbugs:jsr305:3.0.2
-|         |    |    |    +--- com.google.errorprone:error_prone_annotations:2.30.0 -> 2.43.0
-|         |    |    |    \--- com.google.guava:guava:33.3.1-android -> 33.5.0-jre (*)
-|         |    |    +--- com.google.code.gson:gson:2.11.0 (*)
-|         |    |    +--- com.google.android:annotations:4.1.1.4
-|         |    |    +--- org.codehaus.mojo:animal-sniffer-annotations:1.24
-|         |    |    +--- com.google.errorprone:error_prone_annotations:2.30.0 -> 2.43.0
-|         |    |    +--- com.google.guava:guava:33.3.1-android -> 33.5.0-jre (*)
-|         |    |    +--- io.perfmark:perfmark-api:0.27.0
-|         |    |    \--- io.grpc:grpc-context:1.69.1
-|         |    |         \--- io.grpc:grpc-api:1.69.1 (*)
-|         |    +--- io.grpc:grpc-inprocess:1.69.1
-|         |    |    +--- io.grpc:grpc-api:1.69.1 (*)
-|         |    |    +--- io.grpc:grpc-core:1.69.1 (*)
-|         |    |    \--- com.google.guava:guava:33.3.1-android -> 33.5.0-jre (*)
-|         |    +--- io.grpc:grpc-netty:1.69.1
-|         |    |    +--- io.grpc:grpc-api:1.69.1 (*)
-|         |    |    +--- io.netty:netty-codec-http2:4.1.110.Final
-|         |    |    |    +--- io.netty:netty-common:4.1.110.Final
-|         |    |    |    +--- io.netty:netty-buffer:4.1.110.Final
-|         |    |    |    |    \--- io.netty:netty-common:4.1.110.Final
-|         |    |    |    +--- io.netty:netty-transport:4.1.110.Final
-|         |    |    |    |    +--- io.netty:netty-common:4.1.110.Final
-|         |    |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
-|         |    |    |    |    \--- io.netty:netty-resolver:4.1.110.Final
-|         |    |    |    |         \--- io.netty:netty-common:4.1.110.Final
-|         |    |    |    +--- io.netty:netty-codec:4.1.110.Final
-|         |    |    |    |    +--- io.netty:netty-common:4.1.110.Final
-|         |    |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
-|         |    |    |    |    \--- io.netty:netty-transport:4.1.110.Final (*)
-|         |    |    |    +--- io.netty:netty-handler:4.1.110.Final
-|         |    |    |    |    +--- io.netty:netty-common:4.1.110.Final
-|         |    |    |    |    +--- io.netty:netty-resolver:4.1.110.Final (*)
-|         |    |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
-|         |    |    |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
-|         |    |    |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final
-|         |    |    |    |    |    +--- io.netty:netty-common:4.1.110.Final
-|         |    |    |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
-|         |    |    |    |    |    \--- io.netty:netty-transport:4.1.110.Final (*)
-|         |    |    |    |    \--- io.netty:netty-codec:4.1.110.Final (*)
-|         |    |    |    \--- io.netty:netty-codec-http:4.1.110.Final
-|         |    |    |         +--- io.netty:netty-common:4.1.110.Final
-|         |    |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
-|         |    |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
-|         |    |    |         +--- io.netty:netty-codec:4.1.110.Final (*)
-|         |    |    |         \--- io.netty:netty-handler:4.1.110.Final (*)
-|         |    |    +--- io.grpc:grpc-core:1.69.1 (*)
-|         |    |    +--- io.netty:netty-handler-proxy:4.1.110.Final
-|         |    |    |    +--- io.netty:netty-common:4.1.110.Final
-|         |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
-|         |    |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
-|         |    |    |    +--- io.netty:netty-codec:4.1.110.Final (*)
-|         |    |    |    +--- io.netty:netty-codec-socks:4.1.110.Final
-|         |    |    |    |    +--- io.netty:netty-common:4.1.110.Final
-|         |    |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
-|         |    |    |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
-|         |    |    |    |    \--- io.netty:netty-codec:4.1.110.Final (*)
-|         |    |    |    \--- io.netty:netty-codec-http:4.1.110.Final (*)
-|         |    |    +--- com.google.guava:guava:33.3.1-android -> 33.5.0-jre (*)
-|         |    |    +--- com.google.errorprone:error_prone_annotations:2.30.0 -> 2.43.0
-|         |    |    +--- io.perfmark:perfmark-api:0.27.0
-|         |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
-|         |    |    \--- io.grpc:grpc-util:1.69.1
-|         |    |         +--- io.grpc:grpc-api:1.69.1 (*)
-|         |    |         +--- io.grpc:grpc-core:1.69.1 (*)
-|         |    |         +--- org.codehaus.mojo:animal-sniffer-annotations:1.24
-|         |    |         \--- com.google.guava:guava:33.3.1-android -> 33.5.0-jre (*)
-|         |    +--- io.grpc:grpc-protobuf:1.69.1
-|         |    |    +--- io.grpc:grpc-api:1.69.1 (*)
-|         |    |    +--- com.google.code.findbugs:jsr305:3.0.2
-|         |    |    +--- com.google.protobuf:protobuf-java:3.25.5
-|         |    |    +--- com.google.api.grpc:proto-google-common-protos:2.48.0
-|         |    |    |    \--- com.google.protobuf:protobuf-java:3.25.5
-|         |    |    +--- com.google.guava:guava:33.3.1-android -> 33.5.0-jre (*)
-|         |    |    \--- io.grpc:grpc-protobuf-lite:1.69.1
-|         |    |         +--- io.grpc:grpc-api:1.69.1 (*)
-|         |    |         +--- com.google.code.findbugs:jsr305:3.0.2
-|         |    |         \--- com.google.guava:guava:33.3.1-android -> 33.5.0-jre (*)
-|         |    +--- io.grpc:grpc-stub:1.69.1
-|         |    |    +--- io.grpc:grpc-api:1.69.1 (*)
-|         |    |    +--- com.google.guava:guava:33.3.1-android -> 33.5.0-jre (*)
-|         |    |    \--- com.google.errorprone:error_prone_annotations:2.30.0 -> 2.43.0
-|         |    +--- javax.annotation:javax.annotation-api:1.3.2
-|         |    \--- com.google.protobuf:protobuf-java:3.25.5
-|         +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.0 -> 2.3.20 (*)
-|         +--- com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api
-|         +--- org.apache.httpcomponents:httpmime:4.5.6 (*)
-|         +--- commons-io:commons-io:2.16.1
-|         +--- org.ow2.asm:asm:9.8
-|         +--- org.ow2.asm:asm-analysis:9.8
-|         |    \--- org.ow2.asm:asm-tree:9.8
-|         |         \--- org.ow2.asm:asm:9.8
-|         +--- org.ow2.asm:asm-commons:9.8
-|         |    +--- org.ow2.asm:asm:9.8
-|         |    \--- org.ow2.asm:asm-tree:9.8 (*)
-|         +--- org.ow2.asm:asm-util:9.8
-|         |    +--- org.ow2.asm:asm:9.8
-|         |    +--- org.ow2.asm:asm-tree:9.8 (*)
-|         |    \--- org.ow2.asm:asm-analysis:9.8 (*)
-|         +--- org.bouncycastle:bcpkix-jdk18on:1.79 (*)
-|         +--- org.glassfish.jaxb:jaxb-runtime:2.3.2 (*)
-|         +--- net.sf.jopt-simple:jopt-simple:4.9
-|         +--- com.android.tools.build:bundletool:1.18.1
-|         |    +--- com.android.tools.build:aapt2-proto:7.3.0-alpha07-8248216 -> 8.13.2-14304508 (*)
-|         |    +--- com.google.auto.value:auto-value-annotations:1.6.2
-|         |    +--- com.google.errorprone:error_prone_annotations:2.3.1 -> 2.43.0
-|         |    +--- com.google.guava:guava:32.0.1-jre -> 33.5.0-jre (*)
-|         |    +--- com.google.protobuf:protobuf-java:3.22.3 -> 3.25.5
-|         |    +--- com.google.protobuf:protobuf-java-util:3.22.3 -> 3.25.5
-|         |    |    +--- com.google.protobuf:protobuf-java:3.25.5
-|         |    |    +--- com.google.code.findbugs:jsr305:3.0.2
-|         |    |    +--- com.google.code.gson:gson:2.8.9 -> 2.11.0 (*)
-|         |    |    +--- com.google.errorprone:error_prone_annotations:2.18.0 -> 2.43.0
-|         |    |    +--- com.google.guava:guava:32.0.1-jre -> 33.5.0-jre (*)
-|         |    |    \--- com.google.j2objc:j2objc-annotations:2.8 -> 3.1
-|         |    +--- com.google.dagger:dagger:2.28.3
-|         |    |    \--- javax.inject:javax.inject:1
-|         |    +--- javax.inject:javax.inject:1
-|         |    +--- org.bitbucket.b_c:jose4j:0.9.5
-|         |    \--- org.slf4j:slf4j-api:1.7.30 -> 2.0.16
-|         +--- com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10 (*)
-|         +--- com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta10
-|         |    +--- com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10 (*)
-|         |    +--- org.ow2.asm:asm:8.0.1 -> 9.8
-|         |    +--- org.ow2.asm:asm-util:8.0.1 -> 9.8 (*)
-|         |    +--- org.ow2.asm:asm-commons:8.0.1 -> 9.8 (*)
-|         |    +--- org.jdom:jdom2:2.0.6
-|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 2.3.20 (*)
-|         +--- com.squareup:javapoet:1.10.0 -> 1.13.0
-|         +--- com.google.protobuf:protobuf-java:3.25.5
-|         +--- com.google.protobuf:protobuf-java-util:3.25.5 (*)
-|         +--- com.google.code.gson:gson:2.11.0 (*)
-|         +--- io.grpc:grpc-core:1.69.1 (*)
-|         +--- io.grpc:grpc-netty:1.69.1 (*)
-|         +--- io.grpc:grpc-protobuf:1.69.1 (*)
-|         +--- io.grpc:grpc-stub:1.69.1 (*)
-|         +--- io.grpc:grpc-inprocess:1.69.1 (*)
-|         +--- com.google.crypto.tink:tink:1.7.0
-|         |    +--- com.google.protobuf:protobuf-java:3.19.3 -> 3.25.5
-|         |    \--- com.google.code.gson:gson:2.8.9 -> 2.11.0 (*)
-|         +--- com.google.testing.platform:core-proto:0.0.9-alpha03
-|         |    \--- com.google.protobuf:protobuf-java:3.24.4 -> 3.25.5
-|         +--- com.google.flatbuffers:flatbuffers-java:1.12.0
-|         +--- org.tensorflow:tensorflow-lite-metadata:0.2.0
-|         |    +--- org.checkerframework:checker-qual:2.5.8
-|         |    \--- com.google.flatbuffers:flatbuffers-java:1.12.0
-|         +--- com.android.tools.build:builder:8.13.2
-|         |    +--- com.android.tools.build:builder-model:8.13.2 (*)
-|         |    +--- com.android.tools.build:builder-test-api:8.13.2 (*)
-|         |    +--- com.android.tools:sdklib:31.13.2 (*)
-|         |    +--- com.android.tools:sdk-common:31.13.2 (*)
-|         |    +--- com.android.tools:common:31.13.2 (*)
-|         |    +--- com.android.tools.ddms:ddmlib:31.13.2 (*)
-|         |    +--- com.android:signflinger:8.13.2
-|         |    |    +--- com.android.tools:annotations:31.13.2
-|         |    |    +--- com.android.tools.build:apksig:8.13.2
-|         |    |    \--- com.android:zipflinger:8.13.2
-|         |    |         \--- com.android.tools:annotations:31.13.2
-|         |    +--- com.android.tools.analytics-library:protos:31.13.2 (*)
-|         |    +--- com.android.tools.analytics-library:tracker:31.13.2
-|         |    |    +--- com.android.tools.analytics-library:protos:31.13.2 (*)
-|         |    |    +--- com.android.tools.analytics-library:shared:31.13.2 (*)
-|         |    |    +--- com.android.tools:annotations:31.13.2
-|         |    |    +--- com.android.tools:common:31.13.2 (*)
-|         |    |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
-|         |    |    +--- com.google.protobuf:protobuf-java:3.25.5
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.0 -> 2.2.21 (*)
-|         |    +--- com.android.tools.layoutlib:layoutlib-api:31.13.2 (*)
-|         |    +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.0 -> 2.3.20 (*)
-|         |    +--- org.bouncycastle:bcpkix-jdk18on:1.79 (*)
-|         |    +--- org.bouncycastle:bcprov-jdk18on:1.79
-|         |    +--- javax.inject:javax.inject:1
-|         |    +--- org.ow2.asm:asm-commons:9.8 (*)
-|         |    +--- com.google.code.gson:gson:2.11.0 (*)
-|         |    +--- com.android.tools.build:manifest-merger:31.13.2
-|         |    |    +--- com.android.tools:common:31.13.2 (*)
-|         |    |    +--- com.android.tools:sdklib:31.13.2 (*)
-|         |    |    +--- com.android.tools:sdk-common:31.13.2 (*)
-|         |    |    +--- com.google.code.gson:gson:2.11.0 (*)
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.0 -> 2.3.20 (*)
-|         |    +--- com.android:zipflinger:8.13.2 (*)
-|         |    +--- com.android.tools.build:apksig:8.13.2
-|         |    +--- com.android.tools.build:apkzlib:8.13.2
-|         |    |    +--- com.android.tools.build:apksig:8.13.2
-|         |    |    +--- com.google.code.findbugs:jsr305:3.0.2
-|         |    |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
-|         |    |    +--- org.bouncycastle:bcpkix-jdk18on:1.79 (*)
-|         |    |    \--- org.bouncycastle:bcprov-jdk18on:1.79
-|         |    \--- com.squareup:javawriter:2.5.0
-|         +--- com.android.tools.build:builder-model:8.13.2 (*)
-|         \--- com.android.tools.build:gradle-api:8.13.2
-|              +--- com.android.tools.build:builder-test-api:8.13.2 (*)
-|              +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
-|              +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.0 -> 2.3.20 (*)
-|              +--- com.android.tools.build:gradle-common-api:8.13.2 (*)
-|              \--- org.ow2.asm:asm:9.8
++--- com.android.application:com.android.application.gradle.plugin:9.2.1
+|    \--- com.android.tools.build:gradle:9.2.1
+|         +--- com.android.tools.build:gradle-settings-api:9.2.1
+|         |    +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+|         |    \--- com.android.tools.build:gradle-common-api:9.2.1
+|         |         +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+|         |         +--- com.android.tools.build:gradle-api:9.2.1 (c)
+|         |         \--- com.android.tools.build:gradle-settings-api:9.2.1 (c)
+|         +--- com.android.tools:sdk-common:32.2.1
+|         |    +--- com.android.tools.analytics-library:shared:32.2.1
+|         |    |    +--- com.android.tools.analytics-library:protos:32.2.1
+|         |    |    |    \--- com.google.protobuf:protobuf-java:3.25.5
+|         |    |    +--- com.android.tools:annotations:32.2.1
+|         |    |    +--- com.android.tools:common:32.2.1
+|         |    |    |    +--- com.android.tools:annotations:32.2.1
+|         |    |    |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
+|         |    |    |    +--- net.java.dev.jna:jna-platform:5.6.0
+|         |    |    |    |    \--- net.java.dev.jna:jna:5.6.0
+|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.10 -> 2.2.21 (*)
+|         |    |    +--- com.google.code.gson:gson:2.11.0
+|         |    |    |    \--- com.google.errorprone:error_prone_annotations:2.27.0 -> 2.43.0
+|         |    |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
+|         |    |    +--- net.java.dev.jna:jna-platform:5.6.0 (*)
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.10 -> 2.2.21 (*)
+|         |    +--- com.android.tools.build:aapt2-proto:9.2.1-15009934
+|         |    |    \--- com.google.protobuf:protobuf-java:3.25.5
+|         |    +--- com.android.tools:common:32.2.1 (*)
+|         |    +--- com.android.tools.ddms:ddmlib:32.2.1
+|         |    |    +--- com.android.tools:common:32.2.1 (*)
+|         |    |    +--- com.google.protobuf:protobuf-java:3.25.5
+|         |    |    +--- net.sf.kxml:kxml2:2.3.0
+|         |    |    \--- org.jetbrains:annotations:23.0.0
+|         |    +--- com.android.tools.layoutlib:layoutlib-api:32.2.1
+|         |    |    +--- com.android.tools:annotations:32.2.1
+|         |    |    +--- com.android.tools:common:32.2.1 (*)
+|         |    |    +--- net.sf.kxml:kxml2:2.3.0
+|         |    |    \--- org.jetbrains:annotations:23.0.0
+|         |    +--- com.android.tools:sdklib:32.2.1
+|         |    |    +--- com.android.tools:repository:32.2.1
+|         |    |    |    +--- com.android.tools.analytics-library:shared:32.2.1 (*)
+|         |    |    |    +--- com.android.tools:common:32.2.1 (*)
+|         |    |    |    +--- com.google.jimfs:jimfs:1.1
+|         |    |    |    |    \--- com.google.guava:guava:18.0 -> 33.5.0-jre (*)
+|         |    |    |    +--- org.apache.commons:commons-compress:1.27.1
+|         |    |    |    |    +--- commons-codec:commons-codec:1.17.1
+|         |    |    |    |    +--- commons-io:commons-io:2.16.1
+|         |    |    |    |    \--- org.apache.commons:commons-lang3:3.16.0
+|         |    |    |    +--- org.glassfish.jaxb:jaxb-runtime:2.3.2
+|         |    |    |    |    +--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.2
+|         |    |    |    |    |    \--- jakarta.activation:jakarta.activation-api:1.2.1
+|         |    |    |    |    +--- org.glassfish.jaxb:txw2:2.3.2
+|         |    |    |    |    +--- com.sun.istack:istack-commons-runtime:3.0.8
+|         |    |    |    |    |    \--- jakarta.activation:jakarta.activation-api:1.2.1
+|         |    |    |    |    +--- org.jvnet.staxex:stax-ex:1.8.1
+|         |    |    |    |    |    +--- jakarta.activation:jakarta.activation-api:1.2.1
+|         |    |    |    |    |    \--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.2 (*)
+|         |    |    |    |    +--- com.sun.xml.fastinfoset:FastInfoset:1.2.16
+|         |    |    |    |    \--- jakarta.activation:jakarta.activation-api:1.2.1
+|         |    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.10 -> 2.2.21 (*)
+|         |    |    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+|         |    |    +--- com.android.tools:common:32.2.1 (*)
+|         |    |    +--- com.android.tools:dvlib:32.2.1
+|         |    |    |    \--- com.android.tools:common:32.2.1 (*)
+|         |    |    +--- com.android.tools.layoutlib:layoutlib-api:32.2.1 (*)
+|         |    |    +--- com.google.code.gson:gson:2.11.0 (*)
+|         |    |    +--- org.apache.commons:commons-compress:1.27.1 (*)
+|         |    |    +--- org.apache.httpcomponents:httpcore:4.4.16
+|         |    |    +--- org.apache.httpcomponents:httpmime:4.5.6
+|         |    |    |    \--- org.apache.httpcomponents:httpclient:4.5.6 -> 4.5.14
+|         |    |    |         +--- org.apache.httpcomponents:httpcore:4.4.16
+|         |    |    |         +--- commons-logging:commons-logging:1.2
+|         |    |    |         \--- commons-codec:commons-codec:1.11 -> 1.17.1
+|         |    |    \--- org.glassfish.jaxb:jaxb-runtime:2.3.2 (*)
+|         |    +--- com.google.code.gson:gson:2.11.0 (*)
+|         |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
+|         |    +--- com.google.protobuf:protobuf-java:3.25.5
+|         |    +--- javax.inject:javax.inject:1
+|         |    +--- net.sf.kxml:kxml2:2.3.0
+|         |    +--- org.apache.commons:commons-compress:1.27.1 (*)
+|         |    +--- org.bouncycastle:bcpkix-jdk18on:1.79
+|         |    |    +--- org.bouncycastle:bcprov-jdk18on:1.79
+|         |    |    \--- org.bouncycastle:bcutil-jdk18on:1.79
+|         |    |         \--- org.bouncycastle:bcprov-jdk18on:1.79
+|         |    +--- org.bouncycastle:bcprov-jdk18on:1.79
+|         |    +--- org.glassfish.jaxb:jaxb-runtime:2.3.2 (*)
+|         |    +--- org.jetbrains.kotlin:kotlin-reflect:2.2.10 -> 2.2.21 (*)
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.10 -> 2.2.21 (*)
+|         +--- com.android.tools:sdklib:32.2.1 (*)
+|         +--- com.android.tools:repository:32.2.1 (*)
+|         +--- com.android.tools.ddms:ddmlib:32.2.1 (*)
+|         +--- com.android.tools.build:aapt2-proto:9.2.1-15009934 (*)
+|         +--- com.android.tools.build:aaptcompiler:9.2.1
+|         |    +--- com.android.tools.build:aapt2-proto:9.2.1-15009934 (*)
+|         |    +--- com.android.tools.layoutlib:layoutlib-api:32.2.1 (*)
+|         |    +--- com.android.tools:common:32.2.1 (*)
+|         |    +--- com.google.protobuf:protobuf-java:3.25.5
+|         |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+|         +--- com.android.tools.analytics-library:crash:32.2.1
+|         |    +--- com.android.tools:annotations:32.2.1
+|         |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
+|         |    +--- org.apache.httpcomponents:httpclient:4.5.14 (*)
+|         |    +--- org.apache.httpcomponents:httpcore:4.4.16
+|         |    \--- org.apache.httpcomponents:httpmime:4.5.6 (*)
+|         +--- com.android.tools.analytics-library:shared:32.2.1 (*)
+|         +--- com.android.tools.lint:lint-model:32.2.1
+|         |    +--- com.android.tools.build:builder-model:9.2.1
+|         |    |    +--- com.android.tools:annotations:32.2.1
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+|         |    +--- com.android.tools:common:32.2.1 (*)
+|         |    +--- com.android.tools:repository:32.2.1 (*)
+|         |    +--- com.android.tools:sdk-common:32.2.1 (*)
+|         |    +--- com.android.tools:sdklib:32.2.1 (*)
+|         |    +--- net.sf.kxml:kxml2:2.3.0
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.10 -> 2.2.21 (*)
+|         +--- com.android.tools.lint:lint-typedef-remover:32.2.1
+|         |    +--- com.android.tools:annotations:32.2.1
+|         |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
+|         |    \--- org.ow2.asm:asm:9.9
+|         +--- androidx.databinding:databinding-compiler-common:9.2.1
+|         |    +--- androidx.databinding:databinding-common:9.2.1
+|         |    +--- com.android.databinding:baseLibrary:9.2.1
+|         |    +--- com.android.tools:annotations:32.2.1
+|         |    +--- com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10
+|         |    |    +--- com.google.code.gson:gson:2.8.0 -> 2.11.0 (*)
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 2.3.20 (*)
+|         |    +--- com.google.code.gson:gson:2.11.0 (*)
+|         |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
+|         |    +--- com.googlecode.juniversalchardet:juniversalchardet:1.0.3
+|         |    +--- com.squareup:javapoet:1.13.0
+|         |    +--- commons-io:commons-io:2.16.1
+|         |    +--- org.glassfish.jaxb:jaxb-runtime:2.3.2 (*)
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.10 -> 2.2.21 (*)
+|         +--- androidx.databinding:databinding-common:9.2.1
+|         +--- com.android.databinding:baseLibrary:9.2.1
+|         +--- com.android.tools.build:builder-test-api:9.2.1
+|         |    +--- com.android.tools.ddms:ddmlib:32.2.1 (*)
+|         |    +--- com.android.tools:annotations:32.2.1
+|         |    +--- com.android.tools:common:32.2.1 (*)
+|         |    \--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
+|         +--- com.android.tools.layoutlib:layoutlib-api:32.2.1 (*)
+|         +--- com.android.tools.utp:gradle-work-action-api:32.2.1
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+|         +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+|         +--- org.apache.httpcomponents:httpmime:4.5.6 (*)
+|         +--- commons-io:commons-io:2.16.1
+|         +--- org.ow2.asm:asm:9.9
+|         +--- org.ow2.asm:asm-analysis:9.9
+|         |    \--- org.ow2.asm:asm-tree:9.9
+|         |         \--- org.ow2.asm:asm:9.9
+|         +--- org.ow2.asm:asm-commons:9.9
+|         |    +--- org.ow2.asm:asm:9.9
+|         |    \--- org.ow2.asm:asm-tree:9.9 (*)
+|         +--- org.ow2.asm:asm-util:9.9
+|         |    +--- org.ow2.asm:asm:9.9
+|         |    +--- org.ow2.asm:asm-tree:9.9 (*)
+|         |    \--- org.ow2.asm:asm-analysis:9.9 (*)
+|         +--- org.glassfish.jaxb:jaxb-runtime:2.3.2 (*)
+|         +--- net.sf.jopt-simple:jopt-simple:4.9
+|         +--- com.android.tools.build:bundletool:1.18.3
+|         |    +--- com.android.tools.build:aapt2-proto:7.3.0-alpha07-8248216 -> 9.2.1-15009934 (*)
+|         |    +--- com.google.auto.value:auto-value-annotations:1.6.2
+|         |    +--- com.google.errorprone:error_prone_annotations:2.3.1 -> 2.43.0
+|         |    +--- com.google.guava:guava:32.0.1-jre -> 33.5.0-jre (*)
+|         |    +--- com.google.protobuf:protobuf-java:3.22.3 -> 3.25.5
+|         |    +--- com.google.protobuf:protobuf-java-util:3.22.3 -> 3.25.5
+|         |    |    +--- com.google.protobuf:protobuf-java:3.25.5
+|         |    |    +--- com.google.code.findbugs:jsr305:3.0.2
+|         |    |    +--- com.google.code.gson:gson:2.8.9 -> 2.11.0 (*)
+|         |    |    +--- com.google.errorprone:error_prone_annotations:2.18.0 -> 2.43.0
+|         |    |    +--- com.google.guava:guava:32.0.1-jre -> 33.5.0-jre (*)
+|         |    |    \--- com.google.j2objc:j2objc-annotations:2.8 -> 3.1
+|         |    +--- com.google.dagger:dagger:2.28.3
+|         |    |    \--- javax.inject:javax.inject:1
+|         |    +--- javax.inject:javax.inject:1
+|         |    +--- org.bitbucket.b_c:jose4j:0.9.5
+|         |    \--- org.slf4j:slf4j-api:1.7.30 -> 2.0.16
+|         +--- com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10 (*)
+|         +--- com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta10
+|         |    +--- com.android.tools.build.jetifier:jetifier-core:1.0.0-beta10 (*)
+|         |    +--- org.ow2.asm:asm:8.0.1 -> 9.9
+|         |    +--- org.ow2.asm:asm-util:8.0.1 -> 9.9 (*)
+|         |    +--- org.ow2.asm:asm-commons:8.0.1 -> 9.9 (*)
+|         |    +--- org.jdom:jdom2:2.0.6
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 2.3.20 (*)
+|         +--- com.squareup:javapoet:1.13.0
+|         +--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.10 -> 2.3.21
+|         |    +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.3.21
+|         |    |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.3.21 (c)
+|         |    |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.3.21 (c)
+|         |    |    +--- org.jetbrains.kotlin:kotlin-native-utils:2.3.21 (c)
+|         |    |    +--- org.jetbrains.kotlin:kotlin-tooling-core:2.3.21 (c)
+|         |    |    +--- org.jetbrains.kotlin:fus-statistics-gradle-plugin:2.3.21 (c)
+|         |    |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.21 (c)
+|         |    |    \--- org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.3.21 (c)
+|         |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.3.21
+|         |    |    +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.3.21 (*)
+|         |    |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.3.21
+|         |    |    +--- org.jetbrains.kotlin:kotlin-native-utils:2.3.21
+|         |    |    |    +--- org.jetbrains.kotlin:kotlin-util-io:2.3.21
+|         |    |    |    \--- org.jetbrains.kotlin:kotlin-util-klib:2.3.21
+|         |    |    |         \--- org.jetbrains.kotlin:kotlin-util-io:2.3.21
+|         |    |    +--- org.jetbrains.kotlin:kotlin-tooling-core:2.3.21
+|         |    |    \--- org.jetbrains.kotlin:kotlin-build-tools-api:2.3.21
+|         |    +--- org.jetbrains.kotlin:fus-statistics-gradle-plugin:2.3.21
+|         |    |    \--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.3.21 (*)
+|         |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.3.21
+|         |    |    +--- org.jetbrains.kotlin:kotlin-tooling-core:2.3.21
+|         |    |    \--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.3.21
+|         |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:2.3.21
+|         |    |    +--- org.jetbrains.kotlin:kotlin-tooling-core:2.3.21
+|         |    |    \--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.3.21 (*)
+|         |    +--- org.jetbrains.kotlin:kotlin-klib-commonizer-api:2.3.21
+|         |    |    \--- org.jetbrains.kotlin:kotlin-native-utils:2.3.21 (*)
+|         |    +--- org.jetbrains.kotlin:kotlin-build-statistics:2.3.21
+|         |    |    +--- org.jetbrains.kotlin:kotlin-build-tools-api:2.3.21
+|         |    |    \--- com.google.code.gson:gson:2.11.0 (*)
+|         |    +--- org.jetbrains.kotlin:kotlin-util-klib-metadata:2.3.21
+|         |    |    +--- org.jetbrains.kotlin:kotlin-util-io:2.3.21
+|         |    |    \--- org.jetbrains.kotlin:kotlin-util-klib:2.3.21 (*)
+|         |    +--- org.jetbrains.kotlin:abi-tools-api:2.3.21
+|         |    \--- org.jetbrains.kotlin:kotlin-compiler-runner:2.3.21
+|         |         +--- org.jetbrains.kotlin:kotlin-daemon-client:2.3.21
+|         |         \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0 -> 1.10.1 (*)
+|         +--- com.google.protobuf:protobuf-java:3.25.5
+|         +--- com.google.protobuf:protobuf-java-util:3.25.5 (*)
+|         +--- com.google.code.gson:gson:2.11.0 (*)
+|         +--- com.google.crypto.tink:tink:1.7.0
+|         |    +--- com.google.protobuf:protobuf-java:3.19.3 -> 3.25.5
+|         |    \--- com.google.code.gson:gson:2.8.9 -> 2.11.0 (*)
+|         +--- org.tensorflow:tensorflow-lite-metadata:0.2.0
+|         |    +--- org.checkerframework:checker-qual:2.5.8
+|         |    \--- com.google.flatbuffers:flatbuffers-java:1.12.0
+|         +--- com.android.tools.build:builder:9.2.1
+|         |    +--- com.android.tools.build:builder-model:9.2.1 (*)
+|         |    +--- com.android.tools.build:builder-test-api:9.2.1 (*)
+|         |    +--- com.android.tools:sdklib:32.2.1 (*)
+|         |    +--- com.android.tools:sdk-common:32.2.1 (*)
+|         |    +--- com.android.tools:common:32.2.1 (*)
+|         |    +--- com.android.tools.ddms:ddmlib:32.2.1 (*)
+|         |    +--- com.android:signflinger:9.2.1
+|         |    |    +--- com.android.tools:annotations:32.2.1
+|         |    |    +--- com.android.tools.build:apksig:9.2.1
+|         |    |    \--- com.android:zipflinger:9.2.1
+|         |    |         \--- com.android.tools:annotations:32.2.1
+|         |    +--- com.android.tools.analytics-library:protos:32.2.1 (*)
+|         |    +--- com.android.tools.analytics-library:tracker:32.2.1
+|         |    |    +--- com.android.tools.analytics-library:protos:32.2.1 (*)
+|         |    |    +--- com.android.tools.analytics-library:shared:32.2.1 (*)
+|         |    |    +--- com.android.tools:annotations:32.2.1
+|         |    |    +--- com.android.tools:common:32.2.1 (*)
+|         |    |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
+|         |    |    +--- com.google.protobuf:protobuf-java:3.25.5
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.10 -> 2.2.21 (*)
+|         |    +--- com.android.tools.layoutlib:layoutlib-api:32.2.1 (*)
+|         |    +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+|         |    +--- org.bouncycastle:bcpkix-jdk18on:1.79 (*)
+|         |    +--- org.bouncycastle:bcprov-jdk18on:1.79
+|         |    +--- javax.inject:javax.inject:1
+|         |    +--- org.ow2.asm:asm-commons:9.9 (*)
+|         |    +--- com.google.code.gson:gson:2.11.0 (*)
+|         |    +--- com.android.tools.build:manifest-merger:32.2.1
+|         |    |    +--- com.android.tools:common:32.2.1 (*)
+|         |    |    +--- com.android.tools:sdklib:32.2.1 (*)
+|         |    |    +--- com.android.tools:sdk-common:32.2.1 (*)
+|         |    |    +--- com.google.code.gson:gson:2.11.0 (*)
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+|         |    +--- com.android:zipflinger:9.2.1 (*)
+|         |    +--- com.android.tools.build:apksig:9.2.1
+|         |    +--- com.android.tools.build:apkzlib:9.2.1
+|         |    |    +--- com.android.tools.build:apksig:9.2.1
+|         |    |    +--- com.google.code.findbugs:jsr305:3.0.2
+|         |    |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
+|         |    |    +--- org.bouncycastle:bcpkix-jdk18on:1.79 (*)
+|         |    |    \--- org.bouncycastle:bcprov-jdk18on:1.79
+|         |    \--- com.squareup:javawriter:2.5.0
+|         +--- com.android.tools.build:builder-model:9.2.1 (*)
+|         +--- com.android.tools.build:gradle-api:9.2.1
+|         |    +--- com.android.tools.build:builder-test-api:9.2.1 (*)
+|         |    +--- com.google.guava:guava:33.3.1-jre -> 33.5.0-jre (*)
+|         |    +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+|         |    +--- com.android.tools.build:gradle-common-api:9.2.1 (*)
+|         |    +--- org.ow2.asm:asm:9.9
+|         |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.2.10 -> 2.3.21 (*)
+|         |    \--- com.android.tools.build:gradle:9.2.1 (*)
+|         \--- com.google.devtools.ksp:symbol-processing-gradle-plugin:2.2.10-2.0.2 -> 2.3.9 (c)
-+--- com.android.library:com.android.library.gradle.plugin:8.13.2
-|    \--- com.android.tools.build:gradle:8.13.2 (*)
++--- com.android.library:com.android.library.gradle.plugin:9.2.1
+|    \--- com.android.tools.build:gradle:9.2.1 (*)
-+--- com.android.test:com.android.test.gradle.plugin:8.13.2
-|    \--- com.android.tools.build:gradle:8.13.2 (*)
++--- com.android.test:com.android.test.gradle.plugin:9.2.1
+|    \--- com.android.tools.build:gradle:9.2.1 (*)
++--- com.android.legacy-kapt:com.android.legacy-kapt.gradle.plugin:9.2.1
+|    \--- com.android.tools.build:gradle-kotlin:9.2.1
+|         +--- org.jetbrains.kotlin:kotlin-stdlib:2.2.10 -> 2.3.20 (*)
+|         \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.10 -> 2.3.21 (*)
+\--- com.google.dagger.hilt.android:com.google.dagger.hilt.android.gradle.plugin:2.60.1
+     \--- com.google.dagger:hilt-android-gradle-plugin:2.60.1
+          +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.3.20 (*)
+          +--- org.ow2.asm:asm:9.8 -> 9.9
+          \--- com.squareup:javapoet:1.13.0
-+--- org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin:2.3.21
-|    \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.21
-|         +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.3.21
-|         |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.3.21 (c)
-|         |    +--- org.jetbrains.kotlin:fus-statistics-gradle-plugin:2.3.21 (c)
-|         |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.21 (c)
-|         |    +--- org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.3.21 (c)
-|         |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.3.21 (c)
-|         |    +--- org.jetbrains.kotlin:kotlin-native-utils:2.3.21 (c)
-|         |    \--- org.jetbrains.kotlin:kotlin-tooling-core:2.3.21 (c)
-|         +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.3.21
-|         |    +--- org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.3.21 (*)
-|         |    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.3.21
-|         |    +--- org.jetbrains.kotlin:kotlin-native-utils:2.3.21
-|         |    |    +--- org.jetbrains.kotlin:kotlin-util-io:2.3.21
-|         |    |    \--- org.jetbrains.kotlin:kotlin-util-klib:2.3.21
-|         |    |         \--- org.jetbrains.kotlin:kotlin-util-io:2.3.21
-|         |    +--- org.jetbrains.kotlin:kotlin-tooling-core:2.3.21
-|         |    \--- org.jetbrains.kotlin:kotlin-build-tools-api:2.3.21
-|         +--- org.jetbrains.kotlin:fus-statistics-gradle-plugin:2.3.21
-|         |    \--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.3.21 (*)
-|         +--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.3.21
-|         |    +--- org.jetbrains.kotlin:kotlin-tooling-core:2.3.21
-|         |    \--- org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.3.21
-|         +--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:2.3.21
-|         |    +--- org.jetbrains.kotlin:kotlin-tooling-core:2.3.21
-|         |    \--- org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.3.21 (*)
-|         +--- org.jetbrains.kotlin:kotlin-klib-commonizer-api:2.3.21
-|         |    \--- org.jetbrains.kotlin:kotlin-native-utils:2.3.21 (*)
-|         +--- org.jetbrains.kotlin:kotlin-build-statistics:2.3.21
-|         |    +--- org.jetbrains.kotlin:kotlin-build-tools-api:2.3.21
-|         |    \--- com.google.code.gson:gson:2.11.0 (*)
-|         +--- org.jetbrains.kotlin:kotlin-util-klib-metadata:2.3.21
-|         |    +--- org.jetbrains.kotlin:kotlin-util-io:2.3.21
-|         |    \--- org.jetbrains.kotlin:kotlin-util-klib:2.3.21 (*)
-|         +--- org.jetbrains.kotlin:abi-tools-api:2.3.21
-|         \--- org.jetbrains.kotlin:kotlin-compiler-runner:2.3.21
-|              +--- org.jetbrains.kotlin:kotlin-daemon-client:2.3.21
-|              \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0 -> 1.10.1 (*)
-+--- org.jetbrains.kotlin.kapt:org.jetbrains.kotlin.kapt.gradle.plugin:2.3.21
-|    \--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.21 (*)
-\--- com.google.dagger.hilt.android:com.google.dagger.hilt.android.gradle.plugin:2.58
-     \--- com.google.dagger:hilt-android-gradle-plugin:2.58
-          +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.3.20 (*)
-          +--- org.ow2.asm:asm:9.8
-          \--- com.squareup:javapoet:1.13.0

@malinajirka malinajirka modified the milestones: 25.2, 25.3 Jul 8, 2026
@wpmobilebot

wpmobilebot commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

App Icon📲 You can test the changes from this Pull Request in WooCommerce Android by scanning the QR code below to install the corresponding build.

App NameWooCommerce Android
Platform📱 Mobile
FlavorJalapeno
Build TypeDebug
Build Number770
Version25.1-rc-4
Application IDcom.woocommerce.android.prealpha
Commit85208ab
Installation URL4ij0b5ca5vv70
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

AGP 9 provides Kotlin support out of the box and rejects the
org.jetbrains.kotlin.android plugin, so drop it from every Android module.

kapt is incompatible with built-in Kotlin. :libs:fluxc and :libs:fluxc-plugin
feed a custom annotation processor and WellSQL's, so they move to
com.android.legacy-kapt rather than KSP for now.

Opting out via android.builtInKotlin=false is not viable: it deadlocks
:libs:fluxc testFixtures on a kapt/ksp task cycle (google/ksp#2743), which
upstream only fixed for the built-in Kotlin + legacy-kapt combination.

Hilt 2.59+ requires AGP 9 and 2.58 cannot read AGP 9's DSL, so Dagger has to
move in the same commit.
@malinajirka
malinajirka force-pushed the issue/agp9-nav-bump branch from 221af6d to cb8c305 Compare July 9, 2026 07:13
@malinajirka
malinajirka force-pushed the issue/agp-9-upgrade branch from a76bf95 to 3aadf08 Compare July 9, 2026 07:13
@malinajirka
malinajirka marked this pull request as ready for review July 9, 2026 07:30
@malinajirka
malinajirka requested a review from a team as a code owner July 9, 2026 07:30
@malinajirka
malinajirka requested review from irfano and removed request for a team July 9, 2026 07:30

@claude claude 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.

AI Code Review - No issues found. The changes look good.

This is a build-tooling migration (AGP 8.13.2 → 9.2.1, dropping the standalone org.jetbrains.kotlin.android plugin in favour of AGP 9's built-in Kotlin, moving kapt modules to com.android.legacy-kapt, Dagger → 2.60.1). I confirmed the migration is complete and consistent:

  • No remaining references to libs.plugins.kotlin.android after the kotlin-android alias was removed from libs.versions.toml.
  • Both kapt modules (fluxc, fluxc-plugin) and the root build were migrated to android-legacy-kapt; no dangling kotlin.kapt references.
  • The two modules not touched (libs/detektrules, libs/ai-assistant/core) use org.jetbrains.kotlin.jvm, which is unaffected by this change.
  • The [*****] release-note prefix correctly signals a full-flow smoke test on the final APK per RELEASE-NOTES.txt.

Automatic review · claude-opus-4-8 · Workflow run

How to reply to a finding

Reply on this review (or inline at the line the finding refers to) with one of:

  • @claude addressed - I made the change. Bot verifies against the next diff before marking resolved.
  • @claude rejected: <reason> - Will not fix; reason gets quoted on the next review.
  • @claude not-applicable - Finding does not apply (wrong file, already covered elsewhere, etc.).

The bot honours these on the next review pass.

Under AGP 9 the androidTest compile classpath resolves the Espresso
hamcrest conflict down to 1.3 while the runtime classpath stays at 2.2.
The e2e code then compiles against 1.3's fixed-arity CoreMatchers.allOf
overloads, which 2.2 removed, so it hits NoSuchMethodError at runtime
(ProductsRealAPI e2eRealApiProductsSearchUsual). Constrain hamcrest to
2.2 so compile and runtime agree.
@malinajirka malinajirka added the status: do not merge Dependent on another PR, ready for review but not ready for merge. label Jul 9, 2026
@dangermattic

Copy link
Copy Markdown
Collaborator
1 Error
🚫 This PR is tagged with status: do not merge label(s).

Generated by 🚫 Danger

Comment thread gradle/libs.versions.toml
google-services = '4.4.4'
google-zxing = '3.5.4'
gravatar = '2.5.1'
hamcrest = '2.2'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Goal of this PR is AGP update, we are setting it to 2.2 to keep trunk's behavior. Updating hemcrest is out of scope.

Comment thread gradle/libs.versions.toml
google-services = '4.4.4'
google-zxing = '3.5.4'
gravatar = '2.5.1'
hamcrest = '2.2'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Goal of this PR is AGP update, we are setting it to 2.2 to keep trunk's behavior. Updating hemcrest is out of scope.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

hot take: we should disable NewerVersionAvailable Lint rule. Is it used in any of your processes, is it useful?

We have flexibility to keep it in Android Studio (if this is helpful) and disable in sarif reports we send to GitHub.

@malinajirka
malinajirka requested a review from wzieba July 9, 2026 09:37
@irfano irfano self-assigned this Jul 9, 2026

@irfano irfano left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thank you, Jirka, for owning the AGP upgrade task. LGTM! I just left some non-blocking comments and I’m pre-approving.

Now that we're on AGP 9, we don't need these two lint workarounds anymore: disable "StateFlowValueCalledInComposition" in commons and disable "FlowOperatorInvokedInComposition" in pos. They were only there because AGP 8's bundled Compose lint crashed on the newer Kotlin metadata.

I tested it on this branch and 9.2.1 handles it fine. Can we just drop both disables in this PR?

Also, the commons one has a stale StateFlowValueCalledInComposition entry in its lint-baseline.xml that we'd want to remove too.

Comment thread gradle/libs.versions.toml
Comment on lines +260 to +261
hamcrest-core = { group = "org.hamcrest", name = "hamcrest-core", version.ref = "hamcrest" }
hamcrest-library = { group = "org.hamcrest", name = "hamcrest-library", version.ref = "hamcrest" }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

np: Since this list is alphabetized, we can these new lines after "g".

alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.kapt)
alias(libs.plugins.android.legacy.kapt)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Soon it'll be gone. It's nice we're 98% on moving from WellSql 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: tooling Anything that involves building & maintaining the project, including scripts, `Fastfile`, etc. status: do not merge Dependent on another PR, ready for review but not ready for merge. type: task An internally driven task.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants