Android studio AndroidStudio 3.1.1没有将kotlin类放在类路径上,因此无法从IDE运行kotlin类

Android studio AndroidStudio 3.1.1没有将kotlin类放在类路径上,因此无法从IDE运行kotlin类,android-studio,kotlin,Android Studio,Kotlin,下面是如果您尝试在kotlin REPL中工作,这个问题是如何表现出来的。但是,如果您尝试从IDE运行kotlin main fun,您会更直接地看到相同的问题——kotlin类不在类路径上。相反,它们位于…/app/build/tmp/kotlin类/debug中。但是,它们确实会被放入dex文件中 我正在研究Kotlin for Android,并从一个非常简单的项目开始(由AndroidStudio 3.1.1新创建) 为了学习kotlin,我想使用一个从java转换而来的简单的.kt类

下面是如果您尝试在kotlin REPL中工作,这个问题是如何表现出来的。但是,如果您尝试从IDE运行kotlin main fun,您会更直接地看到相同的问题——kotlin类不在类路径上。相反,它们位于…/app/build/tmp/kotlin类/debug中。但是,它们确实会被放入dex文件中

我正在研究Kotlin for Android,并从一个非常简单的项目开始(由AndroidStudio 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并单击提供的链接“构建模块‘应用程序’并重新启动”。现在它提出了另一个问题:

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没有使用类路径上所有需要的目录启动。

如果我理解正确,则不包括包
hanafey.com.shoppy
,因此
未解析的引用

:load/dir/path
可用于导入
dir/path
中的所有包,以下操作应能正常工作

val x = Thing("a", "b", "c", 1.0) 

你找到解决办法了吗?在我的例子中,这并没有导致任何编译错误,但它仍然显示在REPL中,我不知道为什么。由于3.2 RC3 kotlin类可用,所以报告的问题得到了修复。更大的问题是为什么“您正在使用过时的类运行REPL:构建模块'app'并重新启动”会出现并一直出现?点击“构建模块”链接,消息就会重新出现。AS 3.4.1中仍然存在这种情况。我在Kotlin REPL中遇到了同样的问题,单击“构建模块‘应用程序’并重新启动”并不能解决任何问题,也不能让我回到同样的观点<代码>欢迎使用Kotlin版本1.3.31(JRE 1.8.0_152-release-1343-b16-5323222)
。我清理了构建并从“工具”菜单再次启动了REPL,它要求我输入上下文“Kotlin vs app”,我选择了Kotlin,错误不再出现。