Ich bin nach der Aktualisierung meiner SDK-Tools von Version 15 auf 17 gestolpert, es scheint, als gäbe es einige Änderungen unter der Haube, die mich einen langen Abend kosten. Dachte, ich teile dies so hoffentlich jemand anderes Nerven ich sparen:Android kann keine Klassen von externen Jars auflösen
Nach meinem Projekt zu aktualisieren würde noch kompilieren und bauen, aber zur Laufzeit alle Arten von Fehlern und Ausnahmen werfen NoClassDefFoundError
, ClassDefNotFoundException
oder die Dalvik vm in logcat beschweren, dass es nicht war in der Lage, einige Klassen oder Superklassen aufzulösen. Es stellte sich heraus, dass es nicht möglich war, Klassen zu laden, die sich in externen JAR-Dateien befanden (die sich im Klassenpfad befanden).
Lösung/Antwort: (leider Stackoverflow mich nicht lassen diese Antwort aufgrund mangelnder Ruf)
Es stellte sich heraus, dass nur externe Bibliotheken seit Revision 17 der SDK-Tools, die in Java exportiert markiert werden wird Teil der apk zur Laufzeit. Die Lösung ist also einfach:
Gehen Sie zu Java Build Path -> Bestellen und Exportieren und aktivieren Sie das Kontrollkästchen neben all Ihren Gläsern, die Sie zur Laufzeit benötigen (sollte in der Regel alle sein).
Ich bin mir nicht sicher, ob ich das vorher hätte tun sollen, aber mit Revision 15 und früher war das nie ein Problem.
Dies ist ein gutes Beispiel für einen, den Sie akzeptieren sollten. Nur zu deiner Information. :-) – Gray