将JavaML库添加到Android Project

时间:2016-05-31 14:58:04

标签: java android android-studio-2.0

我是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

我看了How do I add a library project to Android Studio?How to add classpath in an Android Studio project,但它不起作用(对于后者,我陷入了第5步,因为Android Studio在创建新模块时无法识别我的.jar)。

我在compile files("libs/javaml/javaml-0.1.7.jar")中添加了build.gradle,还添加了javaml/lib/中的所有文件“以获得更多便利”,正如文档所述(java-ml.sourceforge.net/content/installing) -图书馆)。然后构建清理,并重建。仍然是一个禁忌。

对我而言,奇怪的是Android Studio在查找课程时没有遇到任何问题,但由于某些原因,我的手机不同。

到目前为止我的树:i.stack.imgur.com/P2DY4.png

如果有人能告诉我如何继续,我会非常高兴。提前谢谢!

1 个答案:

答案 0 :(得分:0)

好的,所以我真的不知道发生了什么,但我重新编译了所有内容,在我的手机上卸载了应用程序,再次构建了所有内容,现在它可以运行了。不知道为什么,因为我整个下午一直在努力解决这个问题。

抱歉问题没有问题。