2016-09-18 12 views
-2

lib svmにjava mlを使用しています。しかし、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もあります。 そのライブラリをインポートすると問題が解決しました。

関連する問題