I get the following warning, but I\'m not sure where v1.0.6 resides.
Is it possible this error comes from a Kotlin library somehow including an old Kotlin version?
I was facing same issue but it was due to Dagger wrong injection
It seems that your project is configured in such a way that you depend on kotlin-stdlib
1.1 and kotlin-reflect
1.0. The most likely case is that you already have an explicit dependency on kotlin-stdlib
1.1 but have no dependency on kotlin-reflect
, and some other library (which you depend on) depends on kotlin-reflect
1.0.
If that indeed is the case, the solution is to provide an explicit dependency on kotlin-reflect
1.1.
In Maven, add this to pom.xml
:
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
In Gradle, add this to build.gradle
:
dependencies {
implementation "org.jetbrains.kotlin:kotlin-reflect:1.1.0"
}
See some info about this and related warnings in the official docs.
firstly, figure out the reason by the gradle script below
./gradlew app:dependencies
(change app
to your gradle module name)
+--- project :common
| +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.61
| | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.3.61
| | \--- org.jetbrains:annotations:13.0
| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-common:1.3.3
| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.3.61
| +--- org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:0.12.0 -> 0.14.0
| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.3.60 -> 1.3.61
Then, the dependency tree will be shown. check which dependency use the issue dependency.
If you found the dependency, decide how to solve it.
I'm not sure what is the best way. kindly just refer to it.
it happens when you are using the dagger in a kotlin project(android) and you have the kotlin version to be 1.7 i.e
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
all you have to do is add the dependency below to your app build gradle level
implementation "org.jetbrains.kotlin:kotlin-reflect:1.3.50"
Make sure you use the same version of stdlib-jdk7
& kotlin-gradle-plugin
dependencies to avoid warnings.
You can refere below example where stdlib-jdk7
& kotlin-gradle-plugin
both have the same version
app-level build.gradle file
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.0"
...
}
project-level build.gradle file
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.0"
...
}
}
I fixed warning by overwriting kotlin version used in my app
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'org.jetbrains.kotlin' && requested.name == 'kotlin-reflect') {
details.useVersion kotlin_version
}
}
}
e.g. kotlin_version = 1.3.0