When I am trying to do a Flutter assembleRelease to build the APK from Android Studio, I am getting this bunch of warnings.
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.50/50ad05ea1c2595fb31b800e76db464d08d599af3/kotlin-stdlib-jdk7-1.3.50.jar (version 1.3)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.5.10/da6a904b132f0402fa4d79169a3c1770598d4702/kotlin-stdlib-1.5.10.jar (version 1.5)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.4.31/6dd50665802f54ba9bc3f70ecb20227d1bc81323/kotlin-stdlib-common-1.4.31.jar (version 1.4)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.50/b529d1738c7e98bbfa36a4134039528f2ce78ebf/kotlin-stdlib-1.3.50.jar (version 1.3)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.50/3d9cd3e1bc7b92e95f43d45be3bfbcf38e36ab87/kotlin-stdlib-common-1.3.50.jar (version 1.3)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.71/e71c3fef58e26affeb03d675e91fd8abdd44aa7b/kotlin-stdlib-common-1.3.71.jar (version 1.3)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.4.10/ea29e063d2bbe695be13e9d044dcfb0c7add398e/kotlin-stdlib-1.4.10.jar (version 1.4)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.71/9180d3aec3f0b2ea6ef0dcf01b464a6e2219e381/kotlin-stdlib-jdk7-1.3.71.jar (version 1.3)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.71/898273189ad22779da6bed88ded39b14cb5fd432/kotlin-stdlib-1.3.71.jar (version 1.3)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.4.31/e613be5465ef1e6fd0468707690b7ebf625ea2fe/kotlin-stdlib-jdk8-1.4.31.jar (version 1.4)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.4.31/84ce8e85f6e84270b2b501d44e9f0ba6ff64fa71/kotlin-stdlib-jdk7-1.4.31.jar (version 1.4)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.4.31/a58e0fb9812a6a93ca24b5da75e4b5a0cb89c957/kotlin-stdlib-1.4.31.jar (version 1.4)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.5.10/c49d0703d16c6cb1526cc07b9b46486da1dd8a60/kotlin-stdlib-jdk7-1.5.10.jar (version 1.5)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.5.10/6b84d926e28493be69daf673e40076f89492ef7/kotlin-stdlib-common-1.5.10.jar (version 1.5)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.4.10/30e46450b0bb3dbf43898d2f461be4a942784780/kotlin-stdlib-jdk7-1.4.10.jar (version 1.4)
C:/Users/abc/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.4.10/6229be3465805c99db1142ad75e6c6ddeac0b04c/kotlin-stdlib-common-1.4.10.jar (version 1.4)
w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath
It seems that for some reason conflicting Kotlin versions are being included.
One of the answers I found here suggested checking the build.gradle to make sure the top level gradle is including the same version of Kotlin as the one inside the /app directory, which it is. It is using Kotlin 1.5.10, specified through a top level property $kotlin_version as follows:
buildscript {
ext.kotlin_version = '1.5.10'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.8'
}
}
In app/build.gradle I have this:
dependencies {
// Import the Firebase BoM
implementation platform('com.google.firebase:firebase-bom:28.4.0')
// Add the dependency for the Firebase SDK for Google Analytics
// When using the BoM, don't specify versions in Firebase dependencies
implementation 'com.google.firebase:firebase-analytics-ktx'
implementation 'com.google.firebase:firebase-messaging'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.multidex:multidex:2.0.1'
}
I had a look at the gradle app dependency tree, and it seems that for the releaseRuntimeClasspath the only places I can see those kotlin versions are for Facebook's and Google's own libraries:
+--- project :flutter_facebook_auth
| +--- com.facebook.android:facebook-login:11.1.1
| | +--- com.facebook.android:facebook-core:11.1.1
| | | +--- androidx.annotation:annotation:1.1.0
| | | +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
| | | +--- com.android.installreferrer:installreferrer:1.0
| | | +--- androidx.core:core-ktx:1.3.2
| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 1.5.10
| | | | | +--- org.jetbrains:annotations:13.0
| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.10
| | | | +--- androidx.annotation:annotation:1.1.0
| | | | \--- androidx.core:core:1.3.2 (*)
| | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.10 -> 1.5.10
| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.10 (*)
+--- project :firebase_messaging
| +--- project :firebase_core (*)
| +--- com.google.firebase:firebase-bom:28.3.1 -> 28.4.0 (*)
| +--- com.google.firebase:firebase-messaging -> 22.0.0
| | +--- androidx.collection:collection:1.0.0 -> 1.1.0 (*)
| | +--- androidx.core:core:1.0.0 -> 1.3.2 (*)
| | +--- com.google.android.datatransport:transport-api:3.0.0 (*)
| | +--- com.google.android.datatransport:transport-backend-cct:3.0.0 (*)
| | +--- com.google.android.datatransport:transport-runtime:3.0.0 (*)
| | +--- com.google.android.gms:play-services-basement:17.0.0 -> 17.6.0 (*)
| | +--- com.google.android.gms:play-services-cloud-messaging:16.0.0 (*)
| | +--- com.google.android.gms:play-services-stats:17.0.0 (*)
| | +--- com.google.android.gms:play-services-tasks:17.0.0 -> 17.2.1 (*)
| | +--- com.google.firebase:firebase-common:20.0.0 (*)
| | +--- com.google.firebase:firebase-components:17.0.0 (*)
| | +--- com.google.firebase:firebase-datatransport:18.0.0
| | | +--- androidx.annotation:annotation:1.1.0
| | | +--- com.google.android.datatransport:transport-api:3.0.0 (*)
| | | +--- com.google.android.datatransport:transport-backend-cct:3.0.0 (*)
| | | +--- com.google.android.datatransport:transport-runtime:3.0.0 (*)
| | | +--- com.google.firebase:firebase-common:20.0.0 (*)
| | | \--- com.google.firebase:firebase-components:17.0.0 (*)
| | +--- com.google.firebase:firebase-iid-interop:17.1.0 (*)
| | +--- com.google.firebase:firebase-installations:17.0.0 (*)
| | +--- com.google.firebase:firebase-installations-interop:17.0.0 (*)
| | \--- com.google.firebase:firebase-measurement-connector:19.0.0 (*)
| +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0 (*)
| +--- androidx.annotation:annotation:1.1.0
| \--- io.flutter:flutter_embedding_release:1.0.0-f0826da7ef2d301eb8f4ead91aaf026aa2b52881 (*)
+--- com.google.firebase:firebase-bom:28.4.0 (*)
+--- com.google.firebase:firebase-analytics-ktx -> 19.0.1
| +--- com.google.firebase:firebase-analytics:19.0.1 (*)
| +--- com.google.firebase:firebase-common:20.0.0 (*)
| +--- com.google.firebase:firebase-common-ktx:20.0.0
| | +--- androidx.annotation:annotation:1.1.0
| | +--- com.google.firebase:firebase-common:20.0.0 (*)
| | +--- com.google.firebase:firebase-components:17.0.0 (*)
| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72 -> 1.5.10 (*)
| +--- com.google.firebase:firebase-components:17.0.0 (*)
| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.50 -> 1.5.10 (*)
+--- com.google.firebase:firebase-messaging -> 22.0.0 (*)
+--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.10 (*)
And a couple of other dependencies such as sentry and map_launcher. However according to this dependency tree, gradle is bringing the version up to 1.5.10 anyway.
Is there any way to fix the issue with these warnings? Is there anything wrong going on?