Triple-T / gradle-play-publisher

GPP is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and then promoting your App Bundle or APK to publishing app listings and other metadata.
MIT License
4.1k stars 340 forks source link

java.lang.NoClassDefFoundError: com/android/build/api/AndroidPluginVersion after upgraded to 4.0.0-SNAPSHOT #1028

Closed TonyLin928627 closed 2 years ago

TonyLin928627 commented 2 years ago

Hi there,

I got this from Google Publish API when I was trying to publish apk to play store internal track from Bitbucket CI

{ "code" : 400, "errors" : [ { "domain" : "global", "message" : "Changes cannot be sent for review automatically. Please set the query parameter changesNotSentForReview to true. Once committed, the changes in this edit can be sent for review from the Google Play Console UI.", "reason" : "badRequest" } ], "message" : "Changes cannot be sent for review automatically. Please set the query parameter changesNotSentForReview to true. Once committed, the changes in this edit can be sent for review from the Google Play Console UI.", "status" : "INVALID_ARGUMENT" }

Then I found this https://github.com/Triple-T/gradle-play-publisher/issues/981#issuecomment-880980629 and upgraded to 4.0.0-SNAPSHOT from 3.0.0 as per the comment.

repositories { google() centre() ... maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } } dependencies { classpath 'com.android.tools.build:gradle:4.1.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31" ... // classpath 'com.github.triplet.gradle:play-publisher:3.0.0' classpath 'com.github.triplet.gradle:play-publisher:4.0.0-SNAPSHOT' }

Since then, I started getting this error. anyone may help, please?

java.lang.NoClassDefFoundError: com/android/build/api/AndroidPluginVersion at com.github.triplet.gradle.common.validation.MinDepsKt.(MinDeps.kt:7) at com.github.triplet.gradle.common.validation.RuntimeValidationPlugin.apply(RuntimeValidationPlugin.kt:11) at com.github.triplet.gradle.common.validation.RuntimeValidationPlugin.apply(RuntimeValidationPlugin.kt:7) at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:43) at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:51) at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:177) at org.gradle.api.internal.plugins.DefaultPluginManager.access$100(DefaultPluginManager.java:51) at org.gradle.api.internal.plugins.DefaultPluginManager$AddPluginBuildOperation.run(DefaultPluginManager.java:272) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71) at org.gradle.api.internal.plugins.DefaultPluginManager.lambda$doApply$0(DefaultPluginManager.java:157) at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply(DefaultUserCodeApplicationContext.java:43) at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:156) at org.gradle.api.internal.plugins.DefaultPluginManager.addImperativePlugin(DefaultPluginManager.java:88) at org.gradle.api.internal.plugins.DefaultPluginManager.addImperativePlugin(DefaultPluginManager.java:95) at org.gradle.api.internal.plugins.DefaultPluginContainer.apply(DefaultPluginContainer.java:77) at com.github.triplet.gradle.common.validation.ValidationKt.validateRuntime(Validation.kt:46) at com.github.triplet.gradle.play.PlayPublisherPlugin.apply(PlayPublisherPlugin.kt:67) at com.github.triplet.gradle.play.PlayPublisherPlugin.apply(PlayPublisherPlugin.kt:65) at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:43) at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:51) at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:177) at org.gradle.api.internal.plugins.DefaultPluginManager.access$100(DefaultPluginManager.java:51) at org.gradle.api.internal.plugins.DefaultPluginManager$AddPluginBuildOperation.run(DefaultPluginManager.java:272) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71) at ....

SUPERCILEX commented 2 years ago

Use 3.7.0-agp4.2

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

eirnym commented 2 years ago

@SUPERCILEX it's better to check com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION rather than com/android/build/api/AndroidPluginVersion

SUPERCILEX commented 2 years ago

No, just use the version of the plugin that supports the right version of AGP and you'll be fine.

eirnym commented 2 years ago

I've done this way

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.