我是Android的新手,甚至是Java的新手。我也是SO的新手,所以我不能发布超过2个链接,对不起:/。我需要使用JavaML库(java-ml.sourceforge.net)中包含的LibSVM对象,每次我想使用它时,我都会导入libsvm.LibSVM
(没有失败),然后使用LibSVM test = new LibSVM();
。此时此刻,我的应用程序因NoClassDefFoudError
:而崩溃
05-31 16:25:42.692 1353-1353/myapp E/dalvikvm: Could not find class 'libsvm.LibSVM$1', referenced from method libsvm.LibSVM.<clinit>
05-31 16:25:42.692 1353-1353/myapp E/dalvikvm: Could not find class 'libsvm.svm_parameter', referenced from method libsvm.LibSVM.<init>
05-31 16:25:42.692 1353-1353/myapp E/dalvikvm: Could not find class 'libsvm.svm_node[]', referenced from method libsvm.LibSVM.convert
05-31 16:25:42.702 1353-1353/myapp E/dalvikvm: Could not find class 'libsvm.svm_problem', referenced from method libsvm.LibSVM.transformDataset
05-31 16:25:42.732 1353-1353/myapp E/InputEventReceiver: Exception dispatching input event.
05-31 16:25:42.732 1353-1353/myapp E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
05-31 16:25:42.747 1353-1353/myapp E/MessageQueue-JNI: java.lang.NoClassDefFoundError: libsvm.LibSVM$1
at libsvm.LibSVM.<clinit>(LibSVM.java:28)
at myapp.TouchDisplayView.onTouchEvent(TouchDisplayView.java:159)
... stacktrace
我阅读了如何将库项目添加到Android Studio?,如何在AndroidStudio项目中添加类路径,但它不起作用(对于后者,我被困在第5步,因为AndroidStudio在创建新模块时无法识别我的.jar)。
我在我的build.gradle
中添加了compile files("libs/javaml/javaml-0.1.7.jar")
,也添加了来自javaml/lib/
的所有文件,"为了更方便",正如文档所说(java-ml.sourceforge.net/content/installing library)。然后构建干净,然后重建。还是个未知数。
让我感到奇怪的是,安卓工作室在查找类时没有遇到任何困难,但出于某种原因,我的手机却不一样。
到目前为止我的树:i.stack.imgur.com/P2DY4.png
如果有人能给我一个如何进行的指示,我将非常高兴。提前感谢!
好的,所以我真的不知道发生了什么,但我重新编译了所有内容,在手机上卸载了应用程序,重新构建了所有内容。不知道为什么,因为我整个下午都在这个问题上挣扎。
很抱歉出现问题,不是问题。