java.lang.NoClassDefFoundError:用于在 Android 中使用 JavaML libsvm
Posted
技术标签:
【中文标题】java.lang.NoClassDefFoundError:用于在 Android 中使用 JavaML libsvm【英文标题】:java.lang.NoClassDefFoundError: for using JavaML libsvm in Android 【发布时间】:2017-01-26 09:51:03 【问题描述】:我正在为 lib svm 使用 java ml。但是我在初始化 LibSvm 对象时遇到 java.lang.NoClassDefFoundError: libsvm.LibSVM$1 错误。我在我的 gradle 中添加了这些行:
dependencies
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.1'
compile project(':javaml-0.1.7')
这是活动代码。初始化 libSVM 时出现错误。
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import net.sf.javaml.core.Dataset;
import libsvm.LibSVM;
public class MainActivity extends AppCompatActivity
public LibSVM libSVM;
Dataset dataset;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
libSVM = new LibSVM();
【问题讨论】:
如果您使用 proguard,请确保您添加了所需的规则 我正在使用 JavaML Libsvm for android 这可能对 ***.com/questions/37549159/… 有帮助,我个人从未使用过 Libsvm.. 您可能需要修复发布构建类型的 proguard(调试构建类型不需要) 【参考方案1】:我之前只添加了 javaml-0.1.7.jar。 但是javaml-0.1.7的lib文件夹中也有一个libsvm.jar。 导入那个库解决了这个问题。
【讨论】:
以上是关于java.lang.NoClassDefFoundError:用于在 Android 中使用 JavaML libsvm的主要内容,如果未能解决你的问题,请参考以下文章