Kürzlich habe ich ein Problem entdeckt. Manchmal füge ich einem Android-Projekt wiederholt JAR hinzu und entferne es und stelle fest, dass die Kompilierung erfolgreich sein kann, aber wenn sie auf das Objekt eines externen JAR angewendet wird, wird eine java.lang.NoClassDefFoundError-Ausnahme ausgelöst während des Betriebs. Das Programm zum Absturz bringen.
Überprüfen Sie die Projekteigenschaften und stellen Sie fest, dass das Android-Abhängigkeitselement im Java-Build-Pfad kleiner ist als das normale Projekt:
Beim Vergleich mit dem Projekt vor dem Verlust haben wir festgestellt, dass der Unterschied in der .classpath-Datei im Projektstammverzeichnis liegt, <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt". .LIBRARIES"/ >Der hier exportierte Wert wurde falsch, also habe ich ihn wieder auf „wahr“ geändert, dann das Projekt geschlossen und erneut geöffnet und festgestellt, dass es in Ordnung war.
Wenn das von Ihnen importierte JAR-Paket nicht im Verzeichnis /libs des Projektverzeichnisses abgelegt wird, tritt dieses Problem ebenfalls auf. Bitte legen Sie das JAR-Paket im Verzeichnis /libs ab. Andernfalls kann die Kompilierung erfolgreich sein beim Verpacken nicht verpackt werden, daher kommt es zu der oben genannten Ausnahme. Eclipse packt die Dateien beim Kompilieren automatisch im Verzeichnis /libs.
Dieses Problem ist noch nie aufgetreten. Ich weiß nicht, ob es mit der Eclipse-Version und der ADT-Version zusammenhängt.