当前位置: 首页 > 知识库问答 >
问题:

警告静态编程语言插件版本与库版本不一样(但它是!)

饶滨海
2023-03-14

我有一个Android studio项目,其中添加了一个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"
    ...
}

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行给了我警告插件版本(1.2.40)与库版本(jdk7-1.2.40)不一样。我曾尝试将其更改为:

实现“org.jetbrains.kotlin:kotlin stdlib”

implementation“org.jetbrains.kotlin:kotlin stdlib:1.2.40”

实现"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。有人知道这个问题的解决方案吗?

共有1个答案

顾永福
2023-03-14

从静态编程语言1.4开始依赖默认添加的标准库:

您不再需要在任何静态编程语言Gradle项目(包括多平台项目)中声明对stdlib库的依赖。默认情况下添加依赖项。

自动添加的标准库将是静态编程语言Gradle插件的相同版本,因为它们具有相同的版本。

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

链接到静态编程语言Gradle插件留档。

 类似资料: