Closed sinnoorc closed 8 months ago
Did you try flutter clean?
Did you try flutter clean?
Same problem here, and yes i tried "flutter clean"
I needed to update my kotlin version to 1.9.22 to compile again...
https://plugins.gradle.org/plugin/org.jetbrains.kotlin.android/1.9.22
Did you try flutter clean?
yes i did @Fintasys
I had the same issue after I upgraded Flutter SDK today.
Could you please try if adding the below line to android/gradle.properties
works for you?
kotlin.jvm.target.validation.mode=IGNORE
Couldn't reproduce the issue. But I assume it is due some change in Kotlin 1.8 (issuetracker) Might be possible to solve it by adding following to your build.gradle.
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
}
kotlinOptions {
jvmTarget = '17'
}
Can you try?
I'm facing the same issue, i try to update the emoji_picker to 2.1.0 from 1.6.4 in flutter 3.19, and the build failed for me.
I try to use this options also but dindt work for me
android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } }
kotlinOptions { jvmTarget = '17' }
im my opinion its better to downgrade the emoji picker, when i try to upgrade the kotlin, others packages failed, is better to following the same versions as flutter using and waiting for the emoji_picker to fix this erro
I downgraded Kotlin version in this branch to 1.7.10, can somebody check if that fixes the issue?
emoji_picker_flutter:
git:
url: https://github.com/Fintasys/emoji_picker_flutter.git
ref: downgrade-kotlin
I downgraded Kotlin version in this branch to 1.7.10, can somebody check if that fixes the issue?
emoji_picker_flutter: git: url: https://github.com/Fintasys/emoji_picker_flutter.git ref: downgrade-kotlin
What went wrong: Execution failed for task ':emoji_picker_flutter:compileDebugKotlin'.
'compileDebugJavaWithJavac' task (current target is 1.8) and 'compileDebugKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version. Consider using JVM toolchain: https://kotl.in/gradle/jvm/toolchain 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.
I have the same issue after I upgraded flutter to version 3.19.1
tried:
compileOptions {
coreLibraryDesugaringEnabled = true
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
as well as:
compileOptions {
coreLibraryDesugaringEnabled = true
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
From some googling, seems like these people have a similar issue
I downgraded Kotlin version in this branch to 1.7.10, can somebody check if that fixes the issue?
emoji_picker_flutter: git: url: https://github.com/Fintasys/emoji_picker_flutter.git ref: downgrade-kotlin
Without a example project to reproduce the issue it is difficult to fix. I updated the branch above to match its content like a newly generated package. Maybe someone can try again?
Based on the link @RasmusGrift96 provided there was one comment with a fix, maybe also worth a try. https://github.com/flutter/flutter/issues/125181#issuecomment-1555034383
Adding to my pubspec.yaml:
emoji_picker_flutter:
git:
url: https://github.com/Fintasys/emoji_picker_flutter.git
ref: downgrade-kotlin
gave the same error for me.
As I'm on a different kotlin version, I also tried changed it. (together with the git)
In my settings.gradle file changed:
id "org.jetbrains.kotlin.android" version "1.8.20" apply false
in
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
this gave me errors in the form of:
e: C:....../recaptcha.proto.mobile_webview_sdk_kt_proto_lite.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1.
e: C:....../jetified-recaptcha-18.4.0-api.jar!/META-INF/third_party.java_src.protobuf.current.java.com.google.protobuf.kotlin_only_for_use_in_proto_generated_code_its_generator_and_tests.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1.
e: C::....../jetified-recaptcha-18.4.0-api.jar!/META-INF/third_party.java_src.protobuf.current.java.com.google.protobuf.kotlin_shared_runtime.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1.
e: C:....../jetified-play-services-measurement-api-21.5.1-api.jar!/META-INF/java.com.google.android.gmscore.integ.client.measurement_api_measurement_api.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1.
So I think I have to be on a newer kotlin version to get my app working.
In the new flutter version you had to change some gradle files to get it compatible with the new flutter version.
Maybe you can see what is wrong if I post them here:
settings.gradle
pluginManagement {
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
}
settings.ext.flutterSdkPath = flutterSdkPath()
includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version '8.2.2' apply false
id 'com.android.library' version '8.2.2' apply false
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
id "com.google.gms.google-services" version "4.4.0" apply false
id "com.google.firebase.crashlytics" version "2.9.9" apply false
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0'
}
include ":app"
in my build.gradle:;
plugins {
id "com.android.application"
id "kotlin-android"
id "dev.flutter.flutter-gradle-plugin"
id "com.google.gms.google-services"
id "com.google.firebase.crashlytics"
}
dependencies {
implementation 'com.google.android.material:material:1.11.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:runner:1.5.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
implementation 'com.google.firebase:firebase-analytics:21.5.1'
implementation 'com.google.firebase:firebase-auth:22.3.1'
coreLibraryDesugaring('com.android.tools:desugar_jdk_libs:2.0.4')
implementation 'com.google.android.gms:play-services-auth:21.0.0'
implementation 'com.google.firebase:firebase-messaging:23.4.1'
implementation 'androidx.window:window:1.2.0'
implementation 'androidx.window:window-java:1.2.0'
implementation('com.google.firebase:firebase-auth') {
exclude module: "play-services-safetynet"
}
constraints { implementation('com.stripe:financial-connections') { version { strictly '20.11.0' } } }
}
I'm not very skilled in kotlin/gradle so if I make some ugly mistakes, I'm happy to learn
I downgraded Kotlin version in this branch to 1.7.10, can somebody check if that fixes the issue?
emoji_picker_flutter: git: url: https://github.com/Fintasys/emoji_picker_flutter.git ref: downgrade-kotlin
This fix works.
Last week we moved our project to 1.9.22 to get emoji_picker_flutter to compile our production app that uses 100+ packages with 600k android installs. Moving to 1.9.22, Gradle 7 produced warnings of mixing old java with java 17 (used by 1.9.22). Fyi these warnings are defaulted to errors in Gradle 8.
Our user perceived crash rate had been in the normal range of 0.15%. Updating our user base to the 1.9.22 build the crash rate began climbing, hit 6% within 2 days. 99.9% of the crashes were in android library code when resuming the app from background.
Crash rate did not change with the our 500k iOS users. So we looked at android specific changes between releases.
We created a fork of emoji_picker_flutter setting kotlin to 1.7.10 and reverted our project back to 1.7.10. The java old/new mix warnings go away. We released this version of the app 2 days ago and crash rate has been restored to sub 0.15%.
Again reverting emoji_picker_flutter to 1.7.10 fixes the build and crash issues we were seeing.
https://github.com/flutter/flutter/issues/125181#issuecomment-1555034383
Doing this worked for me, even for emoji_picker_flutter: ^2.1.0
Not sure what the issue is.,
I had the same issue after I upgraded Flutter SDK today. Could you please try if adding the below line to
android/gradle.properties
works for you?kotlin.jvm.target.validation.mode=IGNORE
working for me
I had the same issue after I upgraded Flutter SDK today. Could you please try if adding the below line to
android/gradle.properties
works for you?kotlin.jvm.target.validation.mode=IGNORE
working for me
Nice, This seems to work as well.
Hello @Fintasys !
Yours is a lovely package, but I was having the same issue.
I decided to look into the error and have found following direct instructions from it to be the solution for me.
Before looking into what I did, here's the outline of my project configuration:
com.android.application
) 8.1.8org.jetbrains.kotlin.android
) 1.8.22org.gradle.jvmargs=-Xmx2048M
(increased to avoid crashes while caching)compileSdkVersion 34
minSdkVersion 29
compileOptions
and kotlinOptions
version 1.8This might not be relevant if you're on gradle 7..., however, new Gradle requires that every package defines a namespace under android
. I couldn't be bothered to facilitate this in an orderly fashion so I worked around this by changing my android
level build.gradle
's subprojects
from:
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
To:
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
afterEvaluate { project ->
if (project.hasProperty('android')) {
project.android {
if (namespace == null) {
namespace project.group
}
}
}
}
}
Personally I've been having some issues with R8 minification (Missing classes detected while running R8
). I fixed that by copying generated rules from build/app/outputs/mapping/release/missing_rules.txt
into android/app/proguard-rules.pro
and configuring the proguard file in my app
level build.gradle
via proguardFiles 'proguard-rules.pro'
under android.buildTypes.release
.
Important changes I've made to my project are at https://github.com/GlitterWare/Passy/commit/6bd7707b1faba45b98eeef7ef541f5b230a4b3b8 and https://github.com/GlitterWare/Passy/commit/addf7a076ce85e3559a353da9efa45083c8b9420.
You can find the exact project I was building at https://github.com/GlitterWare/Passy/commit/413961c9a7b155facb921094f65ed9a8a82fe593. Feel free to clone this commit and test it out on your end.
Now onto changes I've made to your package:
It seems that, for some reason, the default value for android.kotlinOptions.jvmTarget
has been changed to 17. For this reason, it needs to be manually set back to 1.8. To avoid similar problems in the future, I've also changed the version in compileOptions
, just like what you did on your fix branch (this is not the cause of current problem but it might become important in the future).
Here's what your project's build.gradle
file looks like on my branch:
...
android {
compileSdkVersion 34
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
...
}
...
I have created a pull request over at https://github.com/Fintasys/emoji_picker_flutter/pull/192, merge it if it works for you.
Thank you once again for providing this package, it is a wonderful addition to my application.
Hello @jerryrox @RasmusGrift96 @MBilalMurtaZa , I'm aware that the issue is "fixed" on your end but it would be greatly appreciated if you could try the fork I've created at https://github.com/GlitterWare/emoji_picker_flutter . This will both assist the maintainer in asserting correct behavior across projects and might help you avoid future problems caused by ignoring this error.
I can confirm correct behavior across 2 independent Flutter projects with different Gradle versions (8.0-all and 7.6.3-all).
To do so, remove the line that you have added earlier to ignore the error and replace the emoji_picker_flutter
dependency with
emoji_picker_flutter:
git:
url: https://github.com/GlitterWare/emoji_picker_flutter
ref: ba7e1116380e37bb3fac0d53277dd6937d8849d5
Thank you!
Hello @jerryrox @RasmusGrift96 @MBilalMurtaZa , I'm aware that the issue is "fixed" on your end but it would be greatly appreciated if you could try the fork I've created at https://github.com/GlitterWare/emoji_picker_flutter . This will both assist the maintainer in asserting correct behavior across projects and might help you avoid future problems caused by ignoring this error.
I can confirm correct behavior across 2 independent Flutter projects with different Gradle versions (8.0-all and 7.6.3-all).
To do so, remove the line that you have added earlier to ignore the error and replace the
emoji_picker_flutter
dependency withemoji_picker_flutter: git: url: https://github.com/GlitterWare/emoji_picker_flutter ref: ba7e1116380e37bb3fac0d53277dd6937d8849d5
Thank you!
Deleted the line from the gradle.properties which I added before:
kotlin.jvm.target.validation.mode=IGNORE
Added to my pubspec.yaml:
emoji_picker_flutter:
git:
url: https://github.com/GlitterWare/emoji_picker_flutter
ref: ba7e1116380e37bb3fac0d53277dd6937d8849d5
Worked for me!!
Nice job :)
@GleammerRay I just merged your PR, when I realized we already have this line in package build.gralde
if (project.android.hasProperty("namespace")) { namespace 'com.fintasys.emoji_picker_flutter' }
The explicit namespace declaration of your PR should not be required, so I removed it again.
we already have this line in package build.gralde
Oh whoops, my bad, I haven't noticed that. This way of declaration might be more efficient indeed. 😅
Just published 2.1.1
to pub.dev, please check and let me know if we can close this issue 🙏
@Fintasys You should close this issue. I can confirm it's fixed.
2.1.0
, it would not build. I had the above error. 2.1.1
and can confirm that both debug and apk are building nowUnrelated, I had another build error. My settings.gradle needed updating and the plugins block now looks like this:
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.3.0" apply false
id "org.jetbrains.kotlin.android" version "1.9.23" apply false
}
Many thanks for your work on this plugin. Much appreciated. And thanks to @GleammerRay for the fix.
i tried to build the apk , build got failed
Execution failed for task ':emoji_picker_flutter:compileReleaseKotlin' Inconsistent JVM-target compatibility detected for tasks 'compileReleaseJavaWithJavac' (1.8) and 'compileReleaseKotlin' (17).
flutter doctor