gpt4 book ai didi

android-studio - AndroidStudio 3.1.1 不会将 kotlin 类放在类路径中,因此您无法从 IDE 运行 kotlin 类

转载 作者:行者123 更新时间:2023-12-03 17:59:31 24 4
gpt4 key购买 nike

如果您尝试在 kotlin REPL 中工作,此问题的表现形式如下。但是,如果您尝试从 IDE 运行 kotlin main fun,您会更直接地看到同样的问题——kotlin 类不在类路径中。相反,它们位于 .../app/build/tmp/kotlin-classes/debug 中。但是,它们会被放入 dex 文件中。

我正在研究适用于 Android 的 Kotlin,并从一个非常简单的项目开始(由 Android Studio 3.1.1 全新创建)。

为了学习 kotlin,我想玩一个从 java 转换而来的简单 .kt​​ 类。

重建后,启动 Kotlin REPL,出现这个问题:

You’re running the REPL with outdated classes: Build module 'app' and restart

Welcome to Kotlin version 1.2.30 (JRE 1.8.0_152-release-1024-b01)
Type :help for help, :quit for quit

import hanafey.com.shoppy.Thing
val x = Thing("a", "b", "c", 1.0)
println(x)
error: unresolved reference: Thing
import hanafey.com.shoppy.Thing

在这种情况下,我忽略了“过时的类”警告,因为它不是真的。

所以我相信 IDE 并单击提供的链接“构建模块‘app’并重新启动”。现在它声称另一个问题:

There were compilation errors in module app
Information:Kotlin: kotlinc-jvm 1.2.30 (JRE 1.8.0_152-release-1024-b01)
Information:4/14/18 7:49 AM - Compilation completed with 1 error and 0 warnings in 889ms
Error:Kotlin: Unsupported plugin option: org.jetbrains.kotlin.android:enabled=true

我认为我应该能够在 REPL 中摆弄与非 android 相关的 kotlin 类是错误的吗?

最佳答案

当 AS 启动 kotlin REPL 时,它在包含 java 文件的类路径中包含以下目录:

.../app/build/intermediates/classes/debug

但是 kotlin 类位于:

.../app/build/tmp/kotlin-classes/debug

gradle 构建没有将 kotlin 类与 java 类放在一起,或者 kotlin repl 没有以类路径上所有需要的目录启动。

关于android-studio - AndroidStudio 3.1.1 不会将 kotlin 类放在类路径中,因此您无法从 IDE 运行 kotlin 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49832867/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com