Reputation: 1680
I'm facing this nasty error when trying to compile my Flutter App into an Android simulator. Here is the error log (is too long to paste it entirely):
aunching lib/main.dart on sdk gphone x86 in debug mode... Running Gradle task 'assembleDebug'... Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. e: Incompatible classes were found in dependencies. Remove them from the classpath or use '-Xskip-metadata-version-check' to suppress errors e: /Users/reinier/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/META-INF/kotlin-stdlib.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15. e: /Users/reinier/.gradle/caches/transforms-2/files-2.1/4d4ccf1034ba5937e6e7ba3aa34d2661/jetified-core-ktx-1.6.0-beta02-api.jar!/META-INF/core-ktx_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15. e: /Users/reinier/.gradle/caches/transforms-2/files-2.1/77bab1911042ab2c6d5cc0b2e2ee053c/jetified-kotlin-stdlib-common-1.5.10.jar!/META-INF/kotlin-stdlib-common.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15. e: /Users/reinier/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.18.3/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt: (18, 32): Unresolved reference: mutableMapOf e: /Users/reinier/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.18.3/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt: (25, 9): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
. . . . .
e: /Users/reinier/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.18.3/android/src/main/kotlin/xyz/luan/audioplayers/WrappedSoundPool.kt: (235, 30): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15. The class is loaded from /Users/reinier/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
FAILURE: Build failed with an exception.
- What went wrong: Execution failed for task ':audioplayers:compileDebugKotlin'.
Compilation error. See log for more details
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 21s Exception: Gradle task assembleDebug failed with exit code 1
It compiles perfectly on an IOS simulator. This error has emerged several times after each audioplayers package update. I'm using compileSdkVersion 30 on Android Studio 4.2.1
This is my pubspec.yaml file:
name: feeddy_flutter
description: A multi screen foods listing Flutter app
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
intl: ^0.17.0
uuid: ^3.0.4
currency_text_input_formatter: ^2.0.1
date_time_picker: ^2.0.0
rflutter_alert: ^2.0.2
faker: ^1.3.0
fl_chart: ^0.35.0
provider: ^5.0.0
tinycolor: ^1.0.3
font_awesome_flutter: ^9.0.0
audioplayers: ^0.18.3
empty_widget: ^0.0.2
splashscreen: ^1.3.5
native_device_orientation: ^1.0.0
sqflite: ^2.0.0+3
flutter_switch: ^0.3.1
flutter_colorpicker: ^0.4.0
enum_to_string: ^2.0.1
humanizer: ^0.0.2
route_observer_mixin: ^1.5.0+1
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- assets/images/
- assets/audio/
fonts:
- family: Luminari
fonts:
- asset: assets/fonts/Luminari/Luminari-Regular.ttf
style: normal
weight: 500
- asset: assets/fonts/Luminari/Luminari-Regular.woff
style: normal
weight: 500
- family: SourceSansPro
fonts:
- asset: assets/fonts/Source_Sans_Pro/SourceSansPro-Regular.ttf
style: normal
weight: 500
- family: OpenSans
fonts:
- asset: assets/fonts/OpenSans/OpenSans-Regular.ttf
style: normal
weight: 500
- asset: assets/fonts/OpenSans/OpenSans-Bold.ttf
weight: 700
- family: Quicksand
fonts:
- asset: assets/fonts/Quicksand/Quicksand-Regular.ttf
style: normal
weight: 500
- asset: assets/fonts/Quicksand/Quicksand-Medium.ttf
- asset: assets/fonts/Quicksand/Quicksand-Light.ttf
- asset: assets/fonts/Quicksand/Quicksand-Bold.ttf
weight: 700
- family: Raleway
fonts:
- asset: assets/fonts/Raleway/Raleway-Regular.ttf
style: normal
weight: 500
- asset: assets/fonts/Raleway/Raleway-Bold.ttf
weight: 700
- asset: assets/fonts/Raleway/Raleway-Black.ttf
weight: 900
- family: RobotoCondensed
fonts:
- asset: assets/fonts/RobotoCondensed/RobotoCondensed-Regular.ttf
style: normal
weight: 500
- asset: assets/fonts/RobotoCondensed/RobotoCondensed-Bold.ttf
weight: 700
- asset: assets/fonts/RobotoCondensed/RobotoCondensed-Light.ttf
weight: 300
- asset: assets/fonts/RobotoCondensed/RobotoCondensed-Italic.ttf
style: italic
- family: AppIcons
fonts:
- asset: assets/fonts/AppIcons/AppIcons.ttf
Upvotes: 45
Views: 57577
Reputation: 103
I got a similar error when adding flutter_widget_from_html to my flutter app.
In newer versions of flutter, it seems the kotlin version is set inside android/settings.gradle
:
plugins {
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
}
One of the error messages I got was this:
The binary version of its metadata is 1.9.0, expected version is 1.7.1.
So you can see the expected version (1.7.1) matches the version in the android/settings.gradle
file.
Changing it to 1.9.0 solved my app no longer building.
plugins {
id "org.jetbrains.kotlin.android" version "1.9.0" apply false
}
Upvotes: 6
Reputation: 32512
To be fair, my project is running on React Native and I was using react-native-track-player
, everything was good on iOS but on Android build I got this error, so my solution was updating the Kotlin version to the compatible version with the others, in the android/build.gradle
file I changed the versions to these
buildscript {
ext {
buildToolsVersion = "33.0.0"
minSdkVersion = 24
compileSdkVersion = 33
targetSdkVersion = 33
supportLibVersion = "28.0.0"
androidXAnnotation = "1.1.0"
androidXBrowser = "1.0.0"
kotlinVersion = "1.6.10"
kotlin_version = "1.6.10"
if (System.properties['os.arch'] == "aarch64") {
// For M1 Users we need to use the NDK 24 which added support for aarch64
ndkVersion = "25.0.8775105"
} else {
// Otherwise we default to the side-by-side NDK version from AGP.
ndkVersion = "21.4.7075529"
}
}
repositories {
google()
mavenCentral()
}
Just one more thing, I was using kotlinVersion
to pass the version of Kotlin but it seems RNTP or something else uses kotlin_version
.
Upvotes: 0
Reputation: 640
Plese check the current kotlin (installed) version by
ANdroidstudio->Preferences->Languages& frameworks->kotlin
In this 1.6.10 is the version . Now Open Android build.gradle
buildscript {
ext.kotlin_version = '1.6.10'
repositories {
google()
mavenCentral()
}
.....
Change it ..
ext.kotlin_version** = '1.6.10'
Upvotes: 2
Reputation: 807
this happened to me after i added the Room plugin. to fix this, go to the android folder and in build.gradle use kotlin version 1.5.31
I changed from
ext { kotlin_version = "1.3.72" nav_version = "2.3.1"
room_version = '2.3.0' }
replace with
ext { kotlin_version = "1.5.31" nav_version = "2.3.1" room_version = '2.3.0' }
Upvotes: 0
Reputation: 2000
As for Flutter 2.10
there was a breaking change with required Kotlin
version - Ref.
Here is a migration guide
This means that if you previosly created a project a long time ago (with java) then it means you need to add Kotlin plugin
to build.gradle
. I suggest launching flutter create --org com.sample sample
which generates up-to-date configuration. Then you can check what is missing.
Upvotes: 3
Reputation: 592
this happened to me after i added the workmanager plugin. to fix this, go to the android folder and in build.gradle use kotlin version 1.5.31
ext.kotlin_version = '1.5.31'
Upvotes: 14
Reputation: 310
Please open android > build.gradle
Inside buildscript { }
, you'll find ext.kotlin_version
(Line 2 in file)
Replace whatever version it is with Latest Stable Kotlin Version
As of July 28, 2021 it is, ext.kotlin_version = '1.5.21'
Now, re-install the app. If it's already running, press Stop then press Run (Play) again.
Upvotes: 11
Reputation: 51
Go to android>build.gradle and update your Kotlin version.
ext.kotlin_version = '1.4.32'
This worked for me.
Upvotes: 5
Reputation: 1357
Updating to a newer kotlin version in build.gradle
seems to solve the issue for me.
ext.kotlin_version = '1.4.32'
Solution from a related question
Upvotes: 95