我有一个Android工作室项目,我在其中添加了一个Java库模块,我打电话给他core
.我的三个Gradle构建文件看起来像这样.
项目/的build.gradle
buildscript {
ext.kotlin_version = '1.2.40'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
核心/的build.gradle
apply plugin: 'java-library'
apply plugin: 'kotlin'
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
...
}
应用程序/的build.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android { ... }
dependencies {
implementation project(':core')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.android.support:appcompat-v7:27.1.1'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
testImplementation 'junit:junit:4.12'
}
我遇到的问题是core/build.gradle
,该kotlin-stdlib-jdk7
线路正在给我警告Plugin version (1.2.40) is not the same as library version (jdk7-1.2.40)
.我尝试将其更改为:
implementation "org.jetbrains.kotlin:kotlin-stdlib"
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.2.40"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.40"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
但警告仍然存在.构建仍然成功运行,我知道我可以毫无问题地压制警告并忽略它,但我真的想知道为什么会发生这种情况以及如何摆脱它.我使用的是Android Studio 3.0.1.有谁知道这个解决方案?
这是Kotlin插件中的一个错误.我在Kotlin问题跟踪器中提交了一个问题.您可以简单地忽略该消息.
编辑:JetBrains将此问题标记为KT-23744的副本 "Kotlin库和Gradle插件版本不同"检查非JVM依赖性的误报".