Proguard warnings "kann keine Ressource schreiben [META-INF / MANIFEST.MF] (Duplicate zip entry)"
Ich bin mit IntelliJ und läuft Proguard im debug-Modus, aber ich kann nicht scheinen, um loszuwerden, Warnhinweise wie:
ProGuard: [MyApplication] Warning: can't write resource [META-INF/MANIFEST.MF]
(Duplicate zip entry [android-support-v13.jar:META-INF/MANIFEST.MF])
Dieses Projekt hat ein paar Module und android-support-v13.jar
verwendet wird, auf 2 von Ihnen. Ich dachte, das Problem war, so dass ich Sie entfernt, die Bibliothek aus dem Ordner libs, fügte hinzu, es als Projekt Bibliothek Hinzugefügt und die Abhängigkeit beider Module. Das hat nichts lösen, wird die Warnung weiterhin angezeigt, und ich verstehe nicht warum.
Ich weiß, dass diese Warnungen nicht beeinflussen, aber alles andere als ein clean-build ist ein fröhliches bauen!
InformationsquelleAutor der Frage Ricardo Amaral | 2013-05-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Möglicherweise ein " proguard.cfg' problem. Gibt es '-injars'? Wenn Ihr Projekt umfasst ein weiteres Projekt als Bibliothek, Gläser können zweimal verarbeitet werden. Könntest du deinen post 'proguard.cfg'?
Auszug aus http://proguard.sourceforge.net/index.html#manual/troubleshooting.html:
OPTION #1:
Wie Sie nicht deinen post '-injars", überprüfen Sie, wenn Sie entweder 'android-support-v13.jar" oder die Bibliothek in Ihrem Projekt enthalten, die sich auch 'android-support-v13.jar'.
Vorausgesetzt, Sie bauen mit Ant-innen IntelliJ IDEA, Sie dürfen nicht das add-injars, -outjars, oder -libraryjars Möglichkeiten; die Ant-Skript schon übernimmt das für Sie.
OPTION #2:
Obwohl die Warnungen sind harmlos, sauber zu bauen, ist ein glückliches bauen, so versuchen:
http://www.dancartoon.com/2012/01/14/fixing-proguard-warning-cant-write-resource-meta-infmanifest-mf/
und
https://gist.github.com/paulpv/4439012
OPTION #3:
Gehören
(!META-INF/MANIFEST.MF)
nach jedem '-injars' BefehlOPTION #4: Android Proguard Doppelte Definition
OPTION #5: Android - Proguard doppelte zip-Eintrag Fehler
Wenn Ihr Proguard config-Datei enthält die folgende Zeile entfernen:
OPTION #6: Android-verschleiern-app mit proguard hält verschleiern jar-Bibliotheken aus - oder ist es?
OPTION #7:
Einer seltsamen Lösung (löschen der META-INF-Ordner in den src-Ordner), um etwas ähnliches hier.
InformationsquelleAutor der Antwort Alejandro Colorado
Ich verwendet
packagingOptions
mitexclude
imbuild.gradle
und ich habe die gleichen Probleme mit Ihnen.Kann man es mit dieser.
Ersetzen
pickFirst
mitexclude
.InformationsquelleAutor der Antwort Wooseong Kim
Die beste Lösung, die ich fand, war zu kopieren -verschleiern Ziel nicht aus /tools/ant/build.xml in Ihrem Projekt custom_rules.xml. Dann der einzige block, der geändert werden muss ist:
Nur bisschen ist
(!META-INF/MANIFEST.MF)
. Dies schließt alle manifest-Dateien, die nicht kopiert werden in die endgültige APK sowieso.InformationsquelleAutor der Antwort user1499147
Nicht die Referenz der support-Bibliothek, einschließlich der Flasche direkt; wenn Sie dies tun, wird das build-system nicht kann keine Verwechslungen zwischen mehreren Versionen, und Sie erhalten Fehler dieser Art. Sie sind durch die Referenzierung seine Maven-Koordinaten:
Abhängigkeiten {
compile 'com.android.support:support-v13:X. X. X'
}
wobei X. X. X ist die richtige Versionsnummer basierend auf welche API du bist kompilieren gegen die. Wenn Sie diese Abhängigkeit über die Benutzeroberfläche auf Projekt-Struktur - > (dein Modul) > Abhängigkeiten > + - Taste > Bibliothek dependency es wird Ihnen helfen, wählen Sie die richtige Versionsnummer.
Können Sie auch finden es bequemer, um auch andere Abhängigkeiten über die Maven Koordinaten statt Gerangel Ihre Gläser; das gleiche Bibliothek Abhängigkeit UI hat eine Suchfunktion, um Ihnen helfen, Bibliotheken.
sicher sein, entfernen Sie diese Bibliothek von den libs oder jede andere Ordner, in dem es vorhanden war innerhalb
InformationsquelleAutor der Antwort Varun Bhatia
hinzufügen
-dontwarn
zu proguard.cfg zu ignorieren WarnungenInformationsquelleAutor der Antwort Yunfei Tang