florent37 / Flutter-AssetsAudioPlayer

Play simultaneously music/audio from assets/network/file directly from Flutter, compatible with android / ios / web / macos, displays notifications
https://pub.dartlang.org/packages/assets_audio_player
Apache License 2.0
740 stars 337 forks source link

JVM target inconsistency #830

Open Schefferbird opened 1 month ago

Schefferbird commented 1 month ago

Flutter Version

My version : 3.19.6

Lib Version

My version : master

Platform (Android / iOS / web) + version

Platform : Android 34

Describe the bug

When upgraded to gradle 8.3 and targetSdk 34 to follow along with the rest of the community I'm getting the following error when running Flutter run: Execution failed for task ':assets_audio_player_web:compileDebugKotlin'.

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

It is a bit absurd that this stops my flutter run. Gradle is a mess combined with Java/Kotlin jungle.

Small code to reproduce

compileOptions {
        // Flag to enable support for the new language APIs
        //coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 17
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = '17'

    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        buildToolsVersion "35-rc2"
        applicationId "com.xxx.xxx"
        minSdk 23
        targetSdk flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        if (publish) {
            ndk {
                debugSymbolLevel 'SYMBOL_TABLE'
            }
            resConfigs "en","sv","it","ar","de","es","fr","no","pl","ru","uk","sr"
        }
    }
mayouf commented 4 days ago

The same as me:

Running Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

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

  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 52s
Error: Gradle task assembleDebug failed with exit code 1

Here is my gradle :

android {
    namespace 'com.xxx.xxxx'

    compileSdkVersion 34

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = '17'
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        applicationId "com.xxx.xxx"
        minSdkVersion 26
        targetSdkVersion 34
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    packagingOptions {
        jniLibs {
            useLegacyPackaging = true
        }
    }

}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.20"
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0'
    implementation(platform("com.google.firebase:firebase-bom:33.1.1"))
    implementation("com.google.firebase:firebase-crashlytics-ndk")
    implementation("com.google.firebase:firebase-analytics")
}
mayouf commented 4 days ago

@Schefferbird did you find the solution ?