2010-04-10 18 views
7

Mam problem z dodaniem biblioteki WEKA do projektu, nad którym pracuję. Śledzę kilka samouczków, które wyjaśniają, jak to zrobić w tym przewodniku Android Developers:Android - Dodawanie biblioteki zewnętrznej do projektu

http://developer.android.com/guide/appendix/faq/commontasks.html#addexternallibrary

i kilka księgowań na SO.

Utworzyłem folder w moim projekcie z plikiem weka.jar, utworzyłem nową bibliotekę (dodając plik weka.jar do biblioteki) i zawarłem tę bibliotekę w mojej ścieżce budowania. Dodałem również bibliotekę w zakładce "Zamawianie i eksportowanie" we właściwościach projektu.

Próbowałem również zaimportować plik jar, aby rzeczywista zawartość słoika została wyodrębniona do katalogu w moim projekcie.

Rezultatem tego wszystkiego jest to, że mój projekt jest w stanie zbudować poprawnie i bez błędów, ale gdy przychodzi czas, aby uruchomić mój kod na emulatorze otrzymuję następujący wyjątek:

04-10: 22 : 52: 21.051: BŁĄD/dalvikvm (582): Nie można znaleźć klasy "weka.classifiers.trees.J48", do której odwołuje się metoda edu.usc.student.composure.classifier.GaitClassifierImpl.

z J48 będącym odwołaniem klasy I w moim kodzie.

Czy ktoś ma jakieś dodatkowe sugestie, które mogłem przeoczyć?

Dzięki!

Odpowiedz

4

WEKA nie będzie działać na Androida bez zmian. Na przykład J48 wymaga interfejsu java.lang.Cloneable, który nie jest dostępny w systemie Android.

Co musisz zrobić, to sprawdzić kod źródłowy WEKA z Subversion, dodać go do swojego projektu (usunięcie pliku JAR), skompilować go i naprawić wszystkie błędy kompilacji. Może być ich kilka.

+0

Dzięki za kompetentną odpowiedź! Odkryłem, że możliwe jest wyprowadzanie kodu Java, który replikuje strukturę drzewa wyszkolonego klasyfikatora, który nie używa żadnych klas Weka z wyjątkiem klasy Instance (którą mogę łatwo zastąpić). Po prostu pójdę z tym obejściem, zamiast próbować przenieść port Weka na Android haha. – mmontalbo

Powiązane problemy