Android ApachePOI3.8

Buckwild

Mitglied
Hallo,

Ich möchte die ApachePOI 3.8 jars in mein Eclipse Android Project einbinden um von .xlsx Files zu lesen.

Das funktioniert auch prima wenn ich ein reines Java Project benutze.

Ich hab es jedoch noch nicht geschafft die jars für ein Android Project zu adden.
Folgendes habe ich versucht:

Analoges vorgehen wie beim adden der android.support jar -> kein Erfolg

Die jar files in den Project libs Ordner kopiert -> Add to Build Path
Resultat: Eclipse startet den Emulator nicht und bringt folgende Fehlermeldung:
Unable to execute dex: Java heap space

Wenn ich die jar files nicht zum Build Path hinzufüge startet zwar der Emulator, aber ich bekomme eine ClassNotFoundException bei den entsprechenden Codezeilen. Was eigentlich logisch ist.

Habe auch probiert einen anderen Ordner anstatt libs zu wählen z.B lib wie im Java Project. Funzt auch nicht.

Stackoverflow hat zu diesem Thema eine Menge Threads die dieses Thema behandeln. Jedoch hat mir bisher nichts geholfen diese jars einzubinden.

Für mein Project benutze ich android 2.1 und Eclipse SDK 3.7.2.

Hat jemand Erfahrung mit diesem Thema? Wär für ne Lösung echt dankbar. Hab mittlerweile eine Menge Zeit investiert und kein Resultat..


EDIT: Wenn es eine andere Lösung gibt um .xlsx Dateien in Android zu bearbeiten bin ich auch dafür offen.
 

schlingel

Gesperrter Benutzer
Ob's ne Alternative für die Excel-Files gibt weiß ich nicht. Aber die Fehlermeldung hört sich danach an als hätte Eclipse zu wenig Speicher.

Bei umfangreichen JARs kann das schon mal passieren. Hatte erst gestern so einen ähnlichen Fehler.

Hast du denn die Heap-Size im eclipse.ini schon hochgeschraubt?
 

Buckwild

Mitglied
Ok ich hab max heap size auf 1024 gestellt.. trotzdem gibts die selbe Fehlermeldung.

Das kann doch nicht sein oder? ich mein warum brauch ich mehr als nen gig speicher für ne library?
 

schlingel

Gesperrter Benutzer
Hm, komisch. Na vielleicht passt die Java-Version nicht? Siehe auch diesen Post auf SO.

Puncto wie ist das möglich.

Je nach dem wie umfangreich bzw. komplex die Architektur der Library ist kann es schon sein, dass hier enorm viel Speicher gebraucht wird. Denn der Compiler der da drüber läuft, muss ja eine Struktur der Library in eine andere Struktur übersetzen. Dazu wird die Struktur normalerweise erst einmal komplett im Speicher aufgebaut. Siehe dazu auch two pass compiler.
 

Buckwild

Mitglied
Also ich hab mit der Heap size gespielt und ich hab zuwenig Speicher um alles kompilieren zu lassen.
Außerdem gibt es in dem POI-Paket .jar Files die einen Dalvik error 1 bzw. 2 auslösen. Die genaue Fehlermessage hab ich grad nicht zur Hand.

Kurz um bevor ich jetzt noch weiter Stunden investier um das zum Laufen zu bringen nehm ich anstatt .xlsx einfach .xls Files, denn da weiss ich das es funzt.

Schade das die Unterstützung von Office Dateien in Android bisher so mager ausfällt...
 

Neue Themen


Oben