apache / cordova-android

Apache Cordova Android
https://cordova.apache.org/
Apache License 2.0
3.59k stars 1.52k forks source link

Could not resolve com.android.tools.build:gradle:7.4.2 after update to cordova-android@12 #1682

Closed Subhimarabe closed 6 months ago

Subhimarabe commented 6 months ago

Problem

Build fails with Could not resolve com.android.tools.build:gradle:7.4.2 after updating android platform to version 12.0.0

1636 duplicate issue, I followed all solutions mentioned in this ticket but the issue exists, please help

What is expected to happen?

Build succeeded

What does actually happen?

build failed

Information

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project ''.
> Could not resolve all files for configuration ':classpath'.
   > Could not resolve com.android.tools.build:gradle:7.4.2.
     Required by:
         project :
      > No matching variant of com.android.tools.build:gradle:7.4.2 was found. The consumer was configured to find a runtime of a library compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.6' but:
          - Variant 'apiElements' capability com.android.tools.build:gradle:7.4.2 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares an API of a component compatible with Java 11 and the consumer needed a runtime of a component compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '7.6')
          - Variant 'javadocElements' capability com.android.tools.build:gradle:7.4.2 declares a runtime of a component, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '7.6')
          - Variant 'runtimeElements' capability com.android.tools.build:gradle:7.4.2 declares a runtime of a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component compatible with Java 11 and the consumer needed a component compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '7.6')
          - Variant 'sourcesElements' capability com.android.tools.build:gradle:7.4.2 declares a runtime of a component, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '7.6')

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 932ms

Command or Code

ionic cordova build --release --prod android --verbose

Environment, Platform, Device

Environment: Mac OS 13.3.1 Platform: cordova-android Device: none

Version information

Ionic:

   Ionic CLI                     : 7.0.1 (/Users/user/.npm-packages/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 4.7.1
   @angular-devkit/build-angular : 0.803.29
   @angular-devkit/schematics    : 8.3.29
   @angular/cli                  : 8.3.29
   @ionic/angular-toolkit        : 2.3.3

Cordova:

   Cordova CLI       : 12.0.0 (cordova-lib@12.0.1)
   Cordova Platforms : android 12.0.1, ios 6.3.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 5.0.0, (and 25 other plugins)

Utility:

   cordova-res                          : 0.15.4
   native-run (update available: 2.0.0) : 0.2.9

System:

   Android SDK Tools : 26.1.1 (/Users/user/Library/Android/sdk/)
   ios-deploy        : 1.10.0
   ios-sim           : 8.0.2
   NodeJS            : v16.20.2 (/Users/subhi/.nvm/versions/node/v16.20.2/bin/node)
   npm               : 8.19.4
   OS                : macOS Unknown
   Xcode             : Xcode 14.3 Build version 14E222b

Checklist

I followed all solutions mentioned in this ticket but the issue exists, please help

breautek commented 6 months ago

Based on the error it looks ike you're using JDK 8, but JDK 11 is required.

Please check if your environment is configured to use JDK 11.

Subhimarabe commented 6 months ago

@breautek it was CORDOVA_JAVA_HOME pointing to java 8, thanks a lot bro