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

Compilation issue after upgrading to Android Studio Ladybug | 2024.2.1 #186

Open
larssn opened this issue Oct 2, 2024 · 3 comments
Open

Comments

@larssn
Copy link
Contributor

larssn commented Oct 2, 2024

The exact version of Android Studio is Build #AI-242.21829.142.2421.12409432, built on September 24, 2024

I can no longer compile a project that uses flutter_nfc_kit.

The compilation error is:

Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
main.dart:1

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':flutter_nfc_kit:compileDebugKotlin'.
> Inconsistent JVM-target compatibility detected for tasks 'compileDebugJavaWithJavac' (17) and 'compileDebugKotlin' (21).

  Consider using JVM Toolchain: https://kotl.in/gradle/jvm/toolchain
  Learn more about JVM-target validation: https://kotl.in/gradle/jvm/target-validation 

* 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 3s
Error: Gradle task assembleDebug failed with exit code 1
Exited (1)

The funny part is that I've made no changes to the source project, AND am using VSCode to compile it.
I can only assume that the latest Android Studio upgrade has changed the build environment.

I've tried a flutter clean to no avail.

@Harry-Chen
Copy link
Contributor

Maybe Android Studio is using newer Java / Gradle / AGP / Gradle Kotlin plugin? I have no AS installed so I cannot reproduce it now. You can look into the detailed logs and (hopefully) find more specific information.

@larssn
Copy link
Contributor Author

larssn commented Oct 3, 2024

The workaround is similar to last time (#154):
But instead adding (to your project build.gradle):

subprojects {
    afterEvaluate {
        if (project.plugins.hasPlugin("com.android.application")
                || project.plugins.hasPlugin("com.android.library")) {
            if (project.name == "flutter_nfc_kit") {
                project.android.compileOptions {
                    sourceCompatibility = JavaVersion.VERSION_21
                    targetCompatibility = JavaVersion.VERSION_21
                }
            }
        }
    }
}

And to your android section in app build.gradle:

kotlin {
    jvmToolchain(21)
}

Not sure what is going on, why this is needed, and why it's always this plugin, as its gradle settings seem perfectly reasonable.

Also, building with Android studio is possible without any workaround, for some reason.

@NiclasLeichsenring
Copy link

I'm having the same problem here
`Execution failed for task ':flutter_nfc_kit:compileDebugKotlin'.

Inconsistent JVM-target compatibility detected for tasks 'compileDebugJavaWithJavac' (11) and 'compileDebugKotlin' (17).`

would be cool to have a real fix for this issue and not only this workaround

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

No branches or pull requests

3 participants