Wenn ich mein Projekt säubere, erhalte ich den folgenden Fehler:
%Vor%Dies ist oft darauf zurückzuführen, dass versehentlich eine Kernbibliotheksdatei eingefügt wird im Projekt Ihrer Anwendung, wenn Sie eine IDE verwenden (wie z Finsternis). Wenn Sie sicher sind, dass Sie nicht absichtlich ein Kernklasse, dann ist dies die wahrscheinlichste Erklärung dessen, was ist los.
Sie könnten jedoch tatsächlich versuchen, eine Klasse in einem Kern zu definieren Namensraum, dessen Quelle Sie zum Beispiel genommen haben, von einem Nicht-Android-Projekt für virtuelle Maschinen. Das wird am meisten sicherlich nicht arbeiten. Zumindest gefährdet es die Kompatibilität Ihrer App mit zukünftigen Versionen der Plattform Es ist auch oft von fragwürdiger Rechtmäßigkeit.
Wenn Sie wirklich beabsichtigen, eine Core-Bibliothek zu erstellen - das ist nur geeignet als Teil der Erstellung einer vollständigen virtuellen Maschine Verteilung, im Gegensatz zum Erstellen einer Anwendung - dann verwenden die Option "--core-library", um diese Fehlermeldung zu unterdrücken.
Wenn Sie weitermachen und "--core-library" verwenden, sind Sie in der Tat Erstellen Sie eine Anwendung, dann seien Sie vorgewarnt, dass Ihre Anwendung wird es irgendwann immer noch nicht schaffen zu bauen oder zu laufen. Bitte sei vorbereitet für verärgerte Kunden, die zum Beispiel finden, dass dein Die Anwendung funktioniert nicht mehr, wenn sie ihren Betrieb aktualisiert hat System. Sie werden für dieses Problem verantwortlich sein.
Wenn Sie rechtmäßig Code verwenden, der zufällig in einer Kernpaket, dann ist die einfachste sichere Alternative, die Sie haben den Code neu verpacken. Das heißt, verschieben Sie die fraglichen Klassen in Ihr eigener Paket-Namespace. Das bedeutet, dass sie niemals drin sein werden Konflikt mit Core-System-Klassen. JarJar ist ein Werkzeug, das helfen kann Sie in diesem Bestreben. Wenn Sie feststellen, dass Sie dies nicht tun können, dann Das ist ein Hinweis darauf, dass der Weg, auf dem du dich befindest, letztendlich ist führen zu Schmerz, Leid, Trauer und Klage.
%Vor%Ich hatte dieses Problem. Ich benutze Maven, um meine Android-Projekte zu bauen. Mein Problem wurde von einer meiner Abhängigkeiten abhängig von den Android-Gläsern verursacht. Ich habe meinen Pom aktualisiert, um Android von dieser Abhängigkeit auszuschließen, und das hat es für mich gelöst.
%Vor%Hoffe, das hilft jemandem, es hat eine Weile gedauert, bis ich herausgefunden hatte, was vor sich ging.
Zum Vorteil von allen, die darüber gestolpert sind, kann dieses Problem durch die Einbeziehung einer älteren Bibliothek wie android.jar
verursacht werden. Wenn Sie die Datei .jar
aus Ihrem Buildpath entfernen, können Sie sie kompilieren. Andernfalls können Sie das in der Fehlermeldung genannte "jarjar" verwenden, um die Datei .jar
in ein anderes Paket zu verschieben.
Ihre IDE ist falsch konfiguriert. Stellen Sie sicher, dass Ihre Skripts oder IDE rt.jar
oder android.jar
nicht an dx
weitergibt.
In Android Studio hatte ich Java und JAVA-JAR-Dateien in meinen lib
-Ordner aufgenommen, und es gab Abhängigkeiten in Bezug auf sie (in build.gradle
auf App-Ebene). Ich habe sie auskommentiert.
Dann ging ich zur Projektansicht und löschte die Jar-Dateien. Es gab einige Legacy-Instanzen von java.awt.geom, die ich löschen musste, aber das Projekt neu erstellt und dann ging es mir gut.
Tags und Links dalvik