Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Raise the minimal supported AGP to 8.1.0 #4840

Merged
merged 5 commits into from
May 22, 2024
Merged

Raise the minimal supported AGP to 8.1.0 #4840

merged 5 commits into from
May 22, 2024

Conversation

igordmn
Copy link
Collaborator

@igordmn igordmn commented May 20, 2024

AGP 7 isn't supported by Jetpack Compose 1.7 (which we'll use in CMP 1.7) and by Lifecycle 2.8.

After this CI is merged, I will:

  • revert the revert of the skiko API fix in jb-main
  • raise the AGP version on TeamCity

Details

It was discovered after merging the skiko API fix. We had D8: java.lang.NullPointerException error on TeamCity. After investigating dependencies, it appears that previous the dependencies were incorrect:

org.jetbrains.compose.material:material -> androidx.compose.material:material:1.6.7 -> androidx.lifecycle:lifecycle-livedata-core:2.6.1

And the new are correct, but aren't supported by AGP 7:

org.jetbrains.compose.material:material -> org.jetbrains.compose.ui -> org.jetbrains.androidx.lifecycle:lifecycle-common -> androidx.lifecycle:lifecycle-common:2.8.0 -> androidx.lifecycle:lifecycle-livedata-core:2.8.0

The dependency chains was printed by this command on the commonResources test project:

./gradlew dependencyInsight --configuration demoDebugRuntimeClasspath --dependency androidx.lifecycle:lifecycle-livedata-core

Testing

  1. Create a pure Jetpack Compose project via Android Studio Hedgehog | 2023.1.1 Patch 2
  2. Set Jetpack Compose to 1.7.0-beta01
  3. Downgrade AGP to 7.4.0
  4. Run
  5. See the error:
ERROR:C:\Users\igord\.gradle\caches\transforms-4\7fcc63c0892ce9266300d6463c3c751d\transformed\lifecycle-livedata-core-2.8.0-runtime.jar: D8: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null
Execution failed for task ':app:mergeExtDexDebug'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Failed to transform lifecycle-livedata-core-2.8.0.aar (androidx.lifecycle:lifecycle-livedata-core:2.8.0) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=24, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
      > Execution failed for DexingNoClasspathTransform: C:\Users\igord\.gradle\caches\transforms-3\4aae1223695d47acd0b149bb5811ca5f\transformed\lifecycle-livedata-core-2.8.0-runtime.jar.
         > Error while dexing.
  1. Change AGP to 8.1.0
  2. The run is successful.

Release Notes

Breaking changes - Android

  • Minimal supported AGP raised to 8.1.0

@igordmn igordmn requested review from terrakok and eymar May 20, 2024 21:02
@igordmn
Copy link
Collaborator Author

igordmn commented May 22, 2024

Merging. @terrakok, let me know if you have any concerns or other code that needs to be adjusted

@igordmn igordmn merged commit 0e38f58 into master May 22, 2024
12 checks passed
@igordmn igordmn deleted the igordmn-patch-7 branch May 22, 2024 13:30
@igordmn
Copy link
Collaborator Author

igordmn commented May 22, 2024

revert the revert of JetBrains/compose-multiplatform-core#1328 in jb-main

JetBrains/compose-multiplatform-core#1367

raise the AGP version on TeamCity

Done

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