我有一个Android studio项目,我在其中添加了一个Java库模块,我称之为core.我的三个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
}

core/build.gradle

apply plugin: 'java-library'
apply plugin: 'kotlin'

dependencies { 
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
    ...
}

app/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"

但警告仍然存在.构建仍然成功运行,我知道我可以不出现任何问题地 suppress 警告并忽略它,但我真的想知道为什么会发生这种情况,以及如何消除它.我使用的是Android Studio 3.0.1.有没有人知道解决这个问题的办法?

推荐答案

从对标准库的Kotlin 1.4个依赖开始,默认添加:

您不再需要在任何Kotlin Gradle项目(包括多平台项目)中声明对stdlib库的依赖.默认情况下会添加依赖项.

自动添加的标准库将是Kotlin Gradle插件的相同版本,因为它们具有相同的版本控制.

对于特定于平台的源代码集,将使用库的相应特定于平台的变体,而其余部分将添加一个通用标准库.Kotlin Gradle插件将根据kotlinOptions Select 适当的JVM标准库.Gradle构建脚本的jvmTarget编译器选项.

Link到Kotlin Gradle插件文档.

Android相关问答推荐

在编写中强制软键盘呈现

合成-删除图像的部分背景

约束布局:垂直链中的视图应将内容包裹到空间的1/3

不能在LazyGrid-Jetpack Compose中使用填充最大宽度或填充父项最大宽度

如何防止在Android Studio中设置kotlin断点时优化变量

看不到选项菜单栏

Jetpack Compose 使用 SavedStateHandle 发送返回结果不适用于 ViewModel 中注入的 SavedStateHandle

SQLite Kotlin 问题 - 没有数据库

围绕动态大小的内容包装 Jetpack Compose Row?

浏览器未命中断点判断 USB 连接设备

在 Jetpack Compose 中自动滚动后面的项目

单击过go 的文章时 NewsApp 崩溃

Jetpack Compose - 每次点击按钮都不起作用

前台服务通知需要几秒钟才能显示

Kotlin Coroutines 会取代 AsyncTask 吗?

新的内部测试应用程序版本不适用于测试人员,即使它说它们是

如何在 MAUI 项目中包含每个平台的现有 C++ 库?

从expose 的 dropdownMenu 可组合、jetpack 组合中 Select 选项时,不会触发文本字段的 onValueChange

Kotlin Compose 全局页脚视图

如何根据加载图像的 colored颜色 绘制边框?