2016-09-18 60 views
-2

我正在使用Java ml for lib svm。但是我在初始化一個LibSvm對象時得到java.lang.NoClassDefFoundError:libsvm.LibSVM $ 1錯誤。我在加的gradle這些行:java.lang.NoClassDefFoundError:在Android中使用JavaML libsvm

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(); 
 

 
    } 
 
}

+1

如果您使用的是proguard,請確保您添加了所需的規則 –

+0

我正在使用JavaML Libsvm for android – Bashima

+0

這可能有助於http://stackoverflow.com/questions/37549159/add-javaml-library-to-android-project ,我個人從來沒有使用Libsvm ..你可能需要修復proguard的發佈版本類型(調試版本不需要) –

回答

0

我只前要加上的JavaML-0.1.7.jar。 但是javaml-0.1.7的lib文件夾中還有一個libsvm.jar。 導入該庫解決了問題。