2010-04-10 15 views
7

Ich habe viel Mühe, die WEKA Bibliothek zu einem Projekt hinzuzufügen, an dem ich arbeite. Ich habe einige Tutorials gefolgt, die erklären, wie dies der Android Developers Guide einschließlich tun:Android - Externe Bibliothek zum Projekt hinzufügen

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

und mehrere der Buchungen auf SO.

Ich habe einen Ordner in meinem Projekt mit der Datei weka.jar erstellt, eine neue Bibliothek erstellt (die Datei weka.jar zur Bibliothek hinzugefügt) und diese Bibliothek in meinen Erstellungspfad eingefügt. Ich habe die Bibliothek auch in den Projekteigenschaften unter der Registerkarte "Bestellen und Exportieren" hinzugefügt.

Ich habe auch versucht, die JAR-Datei zu importieren, so dass der eigentliche Inhalt des Jar in ein Verzeichnis in meinem Projekt extrahiert wird.

Das Endergebnis all dies ist, dass mein Projekt richtig zu bauen in der Lage ist und ohne Fehler, aber wenn es darum geht, Zeit meinen Code auf dem Emulator erhalte ich die folgende Ausnahme auszuführen:

04-10 22 : 52: 21.051: FEHLER/dalvikvm (582): Konnte die Klasse 'weka.classifiers.trees.J48' nicht finden, die von der Methode edu.usc.student.composure.classifier.GaitClassifierImpl referenziert wurde.

mit J48 ist die Klasse I Referenz in meinem Code.

Hat jemand irgendwelche zusätzlichen Vorschläge, die ich vielleicht übersehen habe?

Danke!

Antwort

4

WEKA wird nicht ohne Änderungen an Android arbeiten. J48 zum Beispiel erfordert die java.lang.Cloneable Schnittstelle, die nicht in Android verfügbar ist.

Was Sie tun müssen, ist den WEKA-Quellcode von Subversion zu lesen, ihn zu Ihrem Projekt hinzuzufügen (die JAR-Datei zu entfernen), zu kompilieren und alle Kompilierungsfehler zu beheben. Es kann einige davon geben.

+0

Danke für die sachkundige Antwort! Ich habe festgestellt, dass es möglich ist, Java-Code auszugeben, der die Baumstruktur des trainierten Klassifikators repliziert, der keine Weka-Klassen außer der Instance-Klasse verwendet (die ich leicht ersetzen kann). Ich werde nur mit dieser Problemumgehung gehen, anstatt zu versuchen, Weka auf Android haha ​​zu portieren. – mmontalbo

Verwandte Themen