我有一个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.4开始依赖默认添加的标准库:
您不再需要在任何静态编程语言Gradle项目(包括多平台项目)中声明对stdlib库的依赖。默认情况下添加依赖项。
自动添加的标准库将是静态编程语言Gradle插件的相同版本,因为它们具有相同的版本。
对于特定于平台的源代码集,将使用库的相应特定于平台的变体,而将公共标准库添加到其余的源代码集中。Kotlin Gradle插件将根据Gradle构建脚本的kotlinOptions.jvmTarget编译器选项选择适当的JVM标准库。
链接到静态编程语言Gradle插件留档。
为了描述Gradle构建脚本,我们可以通过< code>build.gradle.kts文件使用Kotlin。在< code>dependencies和build 部分全局定义要使用的Kotlin版本是一个常见的问题(在给定的情况下使用不同的版本是相当罕见的)。 请考虑以下代码 (Gradle 4.3.1): 如您所见,kotlin(在本例中为1.2.30)定义了两次:和,它们通常没有区别。由于D
我有一个使用Kotlin 1.0版的Android项目。Android Studio中的0-beta-1038。 我可以在不同的部分使用Kotlin运行它,它在模拟器中编译并工作,但当我尝试使用ReadWriteProperty时,它会给出以下错误消息: 未解析的引用:ReadWriteProperty 类称为首选Utils.kt: build.grade(模块:app) build.grade(
我是Kotlin应用程序开发的初学者。在我尝试构建应用程序时发生以下错误- e:C:/Users/Lenovo/。gradle/caches/transforms-2/files-2.1/32f0bb3e96b47cf79ece6482359b6ad2/jetified-kotlin-stdlib-jdk7-1.5.0。罐子/META-INF/kotlin-stdlib-jdk7。kotlin_模
我最近在启动JavaFX应用程序时开始注意到以下警告: java版本:1.8.0_72-internal javafx.version:8.0.60 那么,看起来JDK中的JavaFX版本是错误的?或者我有一个旧的jfxrt.jar?我会调查的。
我想在这里对蒂姆的回答发表评论(https://stackoverflow.com/a/1172805/1746310)但因为我的声誉,我不能,我写了它作为回答,说我想发表评论,但因为我的声誉,我不能。这条消息后来被ChrisF删除了(https://stackoverflow.com/users/59303/chrisf)说这不是答案,我应该写一条评论。。。我找不到这个词。 不管怎样,这就是我所
附:每次我做了同步&然后重建项目,但错误再次发生