2 回答

TA贡献2041条经验 获得超4个赞
当第一次尝试重现您的 libgdx 示例时,一切正常。第二次尝试重新导入项目并沿途截屏失败,就像你的一样。从那以后,它一直失败。
显然,从 gradle 导入这个项目时,IntelliJ 以某种方式弄错了类路径。它寻找build/java/main
而不是build/kotlin/main
.
desktop
解决问题 打开项目的模块设置 (F4)并将模块的“模块编译输出路径”更改core
为 kotlin 输出路径。只需将java
路径中的单词替换为kotlin
:
然后,当您点击 main 方法旁边的“运行”按钮时,它会像这样失败:
Caused by: java.lang.IllegalStateException: GLFW windows may only be created on the main thread and that thread must be the first thread in the process. Please run the JVM with -XstartOnFirstThread. For offscreen rendering, make sure another window toolkit (e.g. AWT or JavaFX) is initialized before GLFW.
这可以通过编辑启动配置并添加-XstartOnFirstThread
到 VM 选项来解决。
下一次尝试失败并出现此异常。
com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: libgdx.png
将启动配置中的工作目录更改为该android/assets
目录时,就像您在 gradle 任务中所做的那样,演示将成功启动。
为了记录我的环境:
OS: MacOs Mojave JVM: openjdk version "1.8.0_212" (AdoptOpenJDK) IntelliJ: 2019.1.3 Ultimate Edition

TA贡献1816条经验 获得超4个赞
问题来自该项目具有 Android 模块这一事实。该模块需要全局应用于项目中所有模块的 android gradle 插件,即使那些不是 android 模块的模块。当应用于模块时,它会添加一个Android-Gradle方面,将模块类路径从默认更改out/classes
为build/classes/java
. 对于kotlin模块,由于类路径错误导致运行时找不到主类。
目前无法将 android 插件仅应用于 android 模块。解决方法包括修补 android.jar 文件、自动删除同步时的 Android-Gradle facet,或将 android 模块移动到外部项目。没有干净的方法来做到这一点。
该问题已在此处报告,但没有迹象表明它会得到修复。
添加回答
举报