Android kotlin-stdlib-jre7已被弃用。请改用kotlin-stdlib-jdk7

Android kotlin-stdlib-jre7已被弃用。请改用kotlin-stdlib-jdk7,android,kotlin,Android,Kotlin,昨天我更新了Android Studio版本和Kotlin插件版本 Android Studio版本:3.1.2 Kotlin版本:1.2.41 当我使用这个配置创建一个Android项目时,我得到了Kotlin编译器的警告 w:/home/ganeshtikone/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.41/9e7a6f582de73d9cdc6ef4e23604a0ee55

昨天我更新了Android Studio版本和Kotlin插件版本

Android Studio版本:3.1.2

Kotlin版本:1.2.41

当我使用这个配置创建一个Android项目时,我得到了Kotlin编译器的警告

w:/home/ganeshtikone/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.41/9e7a6f582de73d9cdc6ef4e23604a0ee55768/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_库,status=REMOVED}

看完题目 我发现一些小马

如果您的目标是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
}

转到工具>Kotlin>配置Kotlin插件更新并检查更新 然后在你的应用程序中,将jre替换为jdk

implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

有些东西正在过渡地导入这些库。运行Gradle task
dependencies
,找出需要什么

在我的例子中,它是
io.vertx:vertx-lang-kotlin协同程序:3.5.1

如果没有对依赖项进行更新,则无法对其进行太多操作

重要更新 在设置配置之前必须检查JDK版本 page提供了有关此的详细信息

首先,在gradle文件中检查您的kotlin版本

如果(
kotlin_version==“1.2.x”
)(使用
jdk
而不是
jre
) 首先在文件>项目结构中检查jdk版本

或者签入
build.gradle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
if(jdk\u版本==1.8)

if(jdk_版本==1.7)

if(jdk\u版本是<1.7)

else if(项目结构中未设置jdk版本)

更新Kotlin版本?
您可以从工具>Kotlin>配置Kotlin更新更新Kotlin版本

您必须交换以下代码:

     implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
不是jre>jdk

     implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

为什么不org.jetbrains.kotlin:kotlin-stdlib-jdk8?你救了我一周。谢谢大家!@IgorGanapolsky您是否愿意回答您的评论。感谢您,我正在使用
jdk8
和最新的kotlin版本ie.
1.3.11
,但仍然会显示警告。。jre7已弃用。。另外,我的android studio版本是
3.3.0
@SantanuSur,我不确定。也许,请检查您的依赖项是否正在使用该版本?是的,我正在使用一些开源库..可能是em@SantanuSur您可以检查库中是否有更新。
implementation"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
if(Android_Studio_Version < 2.2.1){
   your_jdk_version = 1.7;
}
else {
   your_jdk_version = 1.8;
}
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" // or jre8
     implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
     implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"