Search code examples
androidgradleionic-frameworkcapacitor

Npx cap run android couldn't configure root project android


I've been trying for hours now. I went through the error text, tried changing gradle versions, downloaded different versions of java sdk, cleaned the project, rebuilt the project. Nothing seems to work. It's pretty new ionic+vue project, so the versions are fresh, android studio version is up to date.

App is working when started with android studio on both virtual and physical device. I just really want to use npx cap run android.

Here's the error:

PS C:\custom\dev\ionic\app> npx cap run android --scan 
√ Copying web assets from dist to android\app\src\main\assets\public in 46.16ms
√ Creating capacitor.config.json in android\app\src\main\assets in 1.20ms
[info] Inlining sourcemaps
√ copy android in 78.40ms
√ Updating Android plugins in 3.79ms
[info] Found 6 Capacitor plugins for android:
       @capacitor/[email protected]
       @capacitor/[email protected]
       @capacitor/[email protected]
       @capacitor/[email protected]
       @capacitor/[email protected]
       @capacitor/[email protected]
√ update android in 68.46ms
√ Please choose a target device: » Pixel 2 API 30 (emulator) (Pixel_2_API_30)
× Running Gradle build - failed!
[error]
        FAILURE: Build failed with an exception.

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

        * 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

        BUILD FAILED in 761ms

Solution

  • i didn't change anything, except i ran npx cap run android --stacktrace. it deployed. then i ran npx cap run android and it deployed again. i dont understand, but not an issue anymore..