【发布时间】:2018-04-13 09:12:54
【问题描述】:
我很难确切 是什么在 adb 上导致此错误,因为我使用的是 Kotlin、TornadoFX( JavaFX Kotlin 库)和带有 JFXMobile 的 Gluon。当我使用 Gluon 的 androidInstall 构建我的项目时,我遇到了这个错误,以及一个黑屏:
java.lang.ClassNotFoundException: Didn't find class "com.my.app.example.Main" on path: DexPathList
我正在尝试在此应用程序中使用 JavaFX 3D,但我认为它不会导致错误。
我检查了我的Android Manifest,包名和我的项目一样。
我的项目层次结构是这样的:
root
libs
src
android
ios
main
kotlin
com.my.app.example
Main.kt
这可能导致 Android 无法找到该文件?因为没有Java文件夹。
我的 gradle 文件中包含以下所有内容,已成功编译:
apply plugin: 'kotlin'
apply plugin: 'idea'
apply plugin: 'java'
apply plugin: 'javafx-gradle-plugin'
apply plugin: 'org.javafxports.jfxmobile'
apply plugin: 'org.jetbrains.kotlin.android.extensions'
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
compile 'no.tornado:tornadofx:1.7.12'
compile 'no.tornado:tornadofx-android-compat:1.0.1'
compile 'com.gluonhq:charm:4.3.7'
compile fileTree(dir: 'libs', include: '*.jar')
}
fileTree(dir: 'libs', include: '*.jar') 用于我用来导入 JavaFX 的 ObjModels 的外部库,位于我的项目的 libs 文件夹中。
我怀疑导致此错误的原因:
- 我的 Gradle 文件中没有正确的内容,因为我对 Gradle 很糟糕。
- 我的
libs文件夹中的 .jar 未正确包含在 Android apk 中,并以某种方式搞砸了 - Kotlin 文件层次结构以某种方式使 Android 无法找到 Main 类,或者它是 Main.kt 而不是 Main.java 的事实
请注意,这个项目在我的桌面上运行良好,所以这不是我的源代码的问题,只是 Android 特定端的问题。
任何想法是什么原因造成的?感谢您的帮助!
【问题讨论】:
-
能否为 Android 部分添加 Gradle 配置?
标签: android javafx kotlin gluon-mobile tornadofx