“如何解决错误”;未能解析:org.jetbrains.kotlin:kotlin-stdlib-jre7…“;在Android Studio中构建时

“如何解决错误”;未能解析:org.jetbrains.kotlin:kotlin-stdlib-jre7…“;在Android Studio中构建时,kotlin,Kotlin,我通过选中AndroidStudio 3中的“IncludeKotlin”框创建了一个新项目,在编译时出现了一个错误 "Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7..." 我已经确保所有插件都是最新的,并且安卓SDK安装正确 如何解决此错误?kotlin stdlib jre[7/8]不久前已被弃用,并已被删除。弃用说明一直保存到,这是发布这些工件的最后一个版本。可以找到官方的弃用通知。使用任何不推荐的版本(在删除之前)

我通过选中AndroidStudio 3中的“IncludeKotlin”框创建了一个新项目,在编译时出现了一个错误

"Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7..."
我已经确保所有插件都是最新的,并且安卓SDK安装正确


如何解决此错误?

kotlin stdlib jre[7/8]
不久前已被弃用,并已被删除。弃用说明一直保存到,这是发布这些工件的最后一个版本。可以找到官方的弃用通知。使用任何不推荐的版本(在删除之前)也会在(至少)Android Studio和IntelliJ中产生警告

改用。它与
kotlin-stdlib-jre7
(更新版本除外)具有相同的依赖关系,但它被重新命名为
kotlin-stdlib jdk
kotlin stdlib jre
现在不再作为单独的依赖项维护

IntelliJ和Android Studio目前都使用
kotlin-stdlib-jre7
生成新项目这可能是一个bug。他们可能没有更新项目生成器。因此,您必须手动将依赖项替换为工作依赖项,直到它们修复此问题。这取决于Kotlin插件。如果没有,请更新它。我还没有检查它是否被修补过——如果有,那只会修复新项目的创建。对于从旧版本更新,答案的其余部分仍然适用

如果您使用的是1.2.71或更低版本,并且要升级到1.3.0或更高版本,那么您自然必须这样做

这些是自Kotlin 1.3.0起的新的有效依赖项:

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
其中,
$kotlinVersion
是包含版本的变量,或者是硬编码版本(即
1.3.0


或者,您可以使用(
kotlin stdlib
)而不是JDK特定的版本。但是您必须改变您的依赖关系,所以我建议您使用
kotlin-stdlib-jdk7
,或者如果您计划使用Java 8,
kotlin-stdlib-jdk8

还可以找到依赖项的最新版本。jdk7、jdk8和非特定版本的stdlib都遵循相同的版本(根据此编辑-这可能会在将来更改,但在更改发生之前可能会有通知),因此无论您检查jdk8、jdk7还是常规版本,所有版本都应该在stdlib工件中普遍可用

其他构建系统的注意事项 同样的实际解决方案也适用于其他构建系统,但代码不同。由于有很多构建系统,我不打算将它们全部包括在内,但重点是将工件从
kotlin stdlib jre[num]
更改为
kotlin stdlib jdk[num]
(当然没有括号)。或者,如前所述,
kotlin stdlib

独立于构建系统,它基于对Maven Central和类似存储库的访问。如果您的构建系统不支持这一点,并且/或者违反了Maven风格的约定和存储库,那么您必须找到适合您的构建系统的方法

TL;博士:
使用
org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version
org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version
(取决于您最初使用的版本)。

从build.gradle中删除这一行:

implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
在build.gradle中添加此行:

implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
在项目级别更新build.gradle版本:
kotlin version='1.3.0'

在一般情况下,请在


您好@Google,欢迎来到StackOverflow,您可以查看以改进此问题和未来的问题。特别是你应该提供一些和/或一些代码,以证明你已经尝试自己解决问题。@LuisMiguelMejíaSuárez谢谢你,我会看“如何提问”,然后做另一个:)等等,你在哪里更改了那行代码,甚至添加了它?@jonney
build.gradle
用于模块。如果使用不同的构建系统,则需要为该系统找到适当的代码。关键点是将
kotlin-stdlib-jre7
更改为
kotlin-stdlib-jdk7
(或8),在这里除了使用版本外还使用了它。很酷,谢谢,我通过在gradle dependencies部分添加它来修复它