昨天我更新了Android Studio版本和Kotlin插件版本。
Android Studio版本:3.1.2
Kotlin版本:1.2.41
当我使用此配置创建Android项目时,我收到Kotlin Compiler警告说
w:/home/ganeshtikone/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.41/9e7a6f582de73d9cdc6c56ef4e23604a0ee55768/kotlin-stdlib-jre7-1.2.41 .jar:kotlin-stdlib-jre7已弃用。请改用kotlin-stdlib-jdk7
根据建议更改,然后我收到以下错误
意外输入:ImmutableJarInput {name = org.jetbrains.kotlin:kotlin-stdlib-jre7:1.2.41,file = / home / ganeshtikone / Workspace / May-2018 / fhs / app / build / intermediates / transforms / desugar /stage/debug/45.jar,contentTypes = CLASSES,scopes = EXTERNAL_LIBRARIES,status = REMOVED}
答案 0 :(得分:73)
转到工具> Kotlin>配置Kotlin插件更新并检查更新 然后在你的应用程序gradle文件中用 jdk 替换 jre
{{1}}
答案 1 :(得分:18)
Kotlin gradle config页上有关于此的详细信息。
首先在gradle文件中检查您的kotlin版本。
if(
kotlin_version == '1.2.x'
)(使用jdk
NOTjre
)
首先在文件>项目结构中检查您的jdk版本。
或签入build.gradle
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
如果(jdk_version == 1.8)
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
如果(jdk_version == 1.7)
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
如果(jdk_version为<1.7)
implementation"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
否则(在“项目结构”中未设置jdk版本)
if(Android_Studio_Version < 2.2.1){
your_jdk_version = 1.7;
}
else {
your_jdk_version = 1.8;
}
因为Android Studio与jdk 1.8 since 2.2.1 version捆绑在一起。
2。否则,如果(
kotlin_version == '1.1.x'
)(使用jre NOT jdk)
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" // or jre8
您可以从工具> Kotlin>配置Kotlin更新
来更新Kotlin版本。答案 2 :(得分:6)
有些东西正在传递这些库。运行Gradle任务dependencies
以确定是什么。
就我而言,它是io.vertx:vertx-lang-kotlin-coroutines:3.5.1
。
如果没有依赖项的更新,那么你可以做的事情就不多了
答案 3 :(得分:5)
阅读Kotlin Gradle Script主题后 我发现了一些ponits
如果您的目标是JDK 7或JDK 8,则可以使用Kotlin标准库的扩展版本,其中包含在新JDK版本中添加的API的其他扩展功能。而不是kotlin-stdlib,使用以下依赖项之一:
编译“org.jetbrains.kotlin:kotlin-stdlib-jdk7”
编译“org.jetbrains.kotlin:kotlin-stdlib-jdk8”
我在我的项目中使用了实现“org.jetbrains.kotlin:kotlin-stdlib-jdk8”。我认为这是因为在build.graddle中设置了compileOptions
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
答案 4 :(得分:0)
您必须交换以下代码:
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
不是jre> jdk
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"