【发布时间】:2019-06-22 18:34:08
【问题描述】:
如果我尝试在我的 Gradle 项目中升级到最新的 Kotlin 版本,我会在构建我的 Android 子项目时收到以下错误:
e: /(redacted)/AndroidLauncher.kt: (8, 15): Cannot access built-in declaration 'kotlin.Unit'. Ensure that you have a dependency on the Kotlin standard library
降级回 1.3.31 构建良好。我还尝试将我的 com.android.tools.build 版本从 3.4.0 -> 3.4.1 升级,但没有区别。
这个错误很清楚地表明在查找 Kotlin STL 时存在问题。我需要添加一些新的依赖项或需要应用的插件吗?
【问题讨论】:
-
确保对所有内容使用相同的 Kotlin 版本,包括顶级
build.gradle文件中的classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"条目和dependencies闭包中的implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"条目应用程序的模块。org.jetbrains.kotlin工件组中的任何其他内容可能也应该获得相同的版本。 -
我在
gradle.properties中只定义了一次kotlinVersion,然后我在其他地方重复使用。 -
Hmmmm...我唯一的其他建议是执行标准的“在紧急情况下,打破玻璃”的 Android Studio 修复:清理项目(构建 > 清理项目)并使缓存无效(文件 > 使缓存无效并重新启动)。
-
我没有使用 Android Studio,这是从终端直接构建的 gradle。我确实尝试了一个干净的构建,手动清除了我所有的构建目录,甚至破坏了我的本地 maven 存储库。同样的错误。
-
您的所有模块实际上都依赖于 Kotlin 标准库吗?看起来此消息仅在不是这种情况时显示:github.com/JetBrains/kotlin/commit/…
./gradlew dependencies说什么?也请向kotl.in/issue 提交一个问题,并附上一个示例项目来重现。谢谢。