2016-09-18 3 views
-2

Я использую java ml для lib svm. Но я получаю java.lang.NoClassDefFoundError: libsvm.LibSVM $ 1 при инициализации объекта LibSvm. Я добавил эти строки в моей Gradle:java.lang.NoClassDefFoundError: для использования JavaML libsvm в Android

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 для андроида – Bashima

+0

Это может помочь http://stackoverflow.com/questions/37549159/add-javaml-library-to-android-project , я лично никогда не использовал Libsvm .. вам, возможно, придется исправить proguard для типа сборки выпуска (не требуется для отладки типа сборки) –

ответ

0

Я только добавил javaml-0.1.7.jar раньше. Но есть и libsvm.jar в папке lib javaml-0.1.7. Импортирование этой библиотеки решило проблему.

Смежные вопросы