Wygląda na to, że Twój projekt jest skonfigurowany w taki sposób, że jesteś zależny od wersji kotlin-stdlib
1.1 i kotlin-reflect
1.0. Najbardziej prawdopodobnym przypadkiem jest to, że masz już wyraźną zależność od kotlin-stdlib
1.1, ale nie masz od niej zależności kotlin-reflect
, a jakaś inna biblioteka (od której jesteś zależny) zależy od kotlin-reflect
1.0.
Jeśli tak jest, rozwiązaniem jest wyraźna zależność od wersji kotlin-reflect
1.1.
W Maven dodaj to do pom.xml
:
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
W Gradle dodaj to do build.gradle
:
dependencies {
implementation "org.jetbrains.kotlin:kotlin-reflect:1.1.0"
}
Zobacz informacje na ten temat i powiązane ostrzeżenia w oficjalnych dokumentach .
Naprawiłem ostrzeżenie, nadpisując wersję kotlin używaną w mojej aplikacji
configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> def requested = details.requested if (requested.group == 'org.jetbrains.kotlin' && requested.name == 'kotlin-reflect') { details.useVersion kotlin_version } } }
na przykład
kotlin_version = 1.3.0
źródło
android {}
np.po pierwsze, znajdź przyczynę za pomocą poniższego skryptu gradle
(zmień
app
na nazwę swojego modułu gradle)+--- 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
Następnie zostanie wyświetlone drzewo zależności. sprawdź, która zależność używa zależności problemu.
Jeśli znalazłeś zależność, zdecyduj, jak ją rozwiązać.
Nie jestem pewien, jaki jest najlepszy sposób. uprzejmie po prostu się do tego odnieść
źródło
dzieje się tak, gdy używasz sztyletu w projekcie Kotlin (Android) i masz wersję kotlin 1.7 ie
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
wszystko, co musisz zrobić, to dodać poniższą zależność do poziomu gradle kompilacji aplikacji
implementation "org.jetbrains.kotlin:kotlin-reflect:1.3.50"
źródło
Upewnij się, że używasz tej samej wersji
stdlib-jdk7
&kotlin-gradle-plugin
zależności, aby uniknąć ostrzeżeń.Możesz zapoznać się z poniższym przykładem, w którym
stdlib-jdk7
&kotlin-gradle-plugin
oba mają tę samą wersjędependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.0" ... }
buildscript { dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.0" ... }
}
źródło