Ich möchte alle nicht verwendeten Layouts, Zeichenfolgen, Zeichen, Farben usw. aus meinem Android-Res-Verzeichnis entfernen. Gibt es Tools, die mir eine Liste von Dateien geben und die ich aus meinem Repository entfernen kann, sowie Elemente in bestimmten Dateien (z. B. nicht verwendete Zeichenfolgeneinträge), die nicht mehr verwendet werden?
quelle
Seit ADT 16 können Sie Android Lint verwenden . Es ist wirklich ein erstaunliches Werkzeug.
Es gibt jedoch einige Probleme (ich weiß nicht, ob sie bereits behoben sind) und wenn Sie Hunderte von vermeintlich nicht verwendeten Ressourcen löschen möchten, würde ich empfehlen, das Projekt während des Entfernens der Ressourcen mehrmals manuell zu kompilieren, um sicherzustellen, dass Lint dies nicht getan hat etwas entfernen, was benötigt wird.
quelle
Analyze > Inspect Code...
eine Reihe von Dingen finden, einschließlich nicht verwendeter Deklarationen und Methoden .lint --check UnusedResources <project-path>
Extra Translations
zusammen / automatisch zu löschen ?Da die Unterstützung für ADT in Eclipse beendet ist, müssen wir Android Studio verwenden.
In Android Studio 2.0+ verwenden
Refactor > Remove Unused Resources...
quelle
Das Gradle-Build-System für Android unterstützt das "Verkleinern von Ressourcen": das automatische Entfernen von Ressourcen, die zum Zeitpunkt der Erstellung in der gepackten App nicht verwendet werden. Dies entfernt nicht nur Ressourcen in Ihrem Projekt, die zur Laufzeit nicht benötigt werden, sondern auch Ressourcen aus Bibliotheken, von denen Sie abhängig sind, wenn sie von Ihrer Anwendung nicht tatsächlich benötigt werden.
Um dies zu aktivieren, fügen Sie die Zeile shrinkResources true in Ihre Gradle-Datei ein.
Überprüfen Sie die offizielle Dokumentation hier,
http://tools.android.com/tech-docs/new-build-system/resource-shrinking
quelle
minifyEnabled true
Wir Open Source ein Tool, das alle nicht verwendeten Ressourcen in Ihrem Android-Projekt basierend auf der Flusenausgabe entfernt. Es kann hier gefunden werden: https://github.com/KeepSafe/android-resource-remover
quelle
Seien Sie vorsichtig, wenn Sie beim Ausführen von Flusen mehrere Geschmacksrichtungen verwenden. Flusen können je nach ausgewähltem Geschmack zu falschen, nicht verwendeten Ressourcen führen.
quelle
Wählen Sie in Android Studio 2.0 und höher im Menü Refactor -> klicken Sie auf Unbenutzte Ressourcen entfernen ...
(oder)
Verknüpfung ebenfalls verfügbar
Drücken Sie Ctlr + Alt + Shift + i ein Dialogfeld apper wird, geben Sie dann ungenutzt , werden Sie einige Optionen finden wählen und ungenutzte Ressourcen entfernen
quelle
In Android Studio
Analysieren -> Inspektion nach Namen ausführen
(Verknüpfung für Mac Shift + Befehl + Option + i, Strg + Umschalt + A unter Windows / Linux).
Und geben Sie "nicht verwendete Ressourcen" ein.
Auf diese Weise können Sie nicht verwendete Ressourcen, Variablen, Symbole, Lokalisierung, Bibliotheken usw. entfernen.
Wählen Sie die gewünschte Inspektion aus der Liste aus und wählen Sie dann Inspektionsbereich -> OK
quelle
Achtung Android Wear-Entwickler : "Nicht verwendete Ressourcen entfernen" löscht die XML-Datei, in der Sie den Funktionsnamen (res / values / wear.xml) deklarieren, und das Telefon kann keine Verbindung zur Uhr herstellen. Ich habe stundenlang versucht, diesen Fehler in meiner App herauszufinden.
quelle
So überprüfen Sie string.xml.
Es ist einfach (zumindest in meiner Version von Eclipse)
In Eclipse für Android (ich habe Version v22.6.2-1085508)
Wenn Sie nun strings.xml öffnen, sehen Sie, dass nicht verwendete Zeichenfolgen hervorgehoben werden.
Sie können andere potenzielle Probleme beheben.
quelle
Möglicherweise nützlich Andround Unused Resources ist eine Java-Anwendung, die Ihr Projekt nach nicht verwendeten Ressourcen durchsucht. Nicht verwendete Ressourcen beanspruchen unnötig Speicherplatz, verlängern die Erstellungszeit und überladen die Autocomplete-Liste der IDE.
Stellen Sie zur Verwendung sicher, dass Ihr Arbeitsverzeichnis das Stammverzeichnis Ihres Android-Projekts ist, und führen Sie Folgendes aus:
java -jar AndroidUnusedResources.jar
https://code.google.com/p/android-unused-resources/
quelle
Wenn wir Shrink-Ressourcen als true definieren, können wir auch definieren, welche Ressourcen wir behalten möchten und welche nicht. Ich habe keine XML-Datei im Ordner res / raw mit dem Namen keep.xml hinzugefügt
Bevor Sie fortfahren, generieren Sie einen einzelnen signierten Build und checken Sie das apk analyzer-Tool ein, das zeigt, dass drawable-xhdpi-v4 messenger_button_send_round_shadow.png hat, das ich für diesen Test entfernen möchte
Wenn Sie messenger_ * ausführen, werden alle Dateien, die mit name messenger im zeichnbaren Ordner beginnen, entfernt, oder anders herum, wenn ich eine bestimmte Datei definiert habe, die entfernt werden soll
Auf diese Weise können Sie Dateien selbst aus der Bibliothek entfernen. Sie können Layouts auch nach @ layout / layout name entfernen, wenn dieses Zeichen vom Layout verwendet wurde und so weiter ....
quelle
Hier finden Sie wirklich hervorragende Antworten, die auf gute Tools hinweisen
Wenn Sie jedoch beabsichtigen, png-drawables (oder andere Bilddateien ) zu entfernen , sollten Sie auch in Betracht ziehen, alle drawable-xxxx-Ordner aus Ihrem Projekt in einen temporären Ordner zu verschieben, dann alle neu zu erstellen und sich den Build anzusehen Nachrichtenliste, die Ihnen sagt, welche fehlen.
Dies kann besonders nützlich sein, wenn Sie sich einen Überblick darüber verschaffen möchten, welche Ressourcen Sie effektiv verwenden, und diese möglicherweise durch eine Symbolschriftart oder SVG-Ressourcen ersetzen möchten, möglicherweise mithilfe der Android Iconics- Bibliothek.
quelle
Android Assets Viewer wurde entwickelt, um die in Ihrer APK gepackten Grafiken (als Drawables) visuell zu überprüfen (Sie können auch einfach eine Zip-Datei Ihres Res-Ordners hochladen, wenn Sie dies bevorzugen):
http://www.cellebellum.net/AndroidAssetsViewer/
Wenn Sie also nicht verwendete Ressourcen entfernen, funktioniert dies möglicherweise gut zusammen mit den Lint-Überprüfungen, um sicherzustellen, dass alles vorhanden ist, was vorhanden sein sollte. Es hilft Ihnen auch dabei, einige andere potenzielle Probleme mit Ihren Drawables zu identifizieren: falscher Eimer, falsche Grafik usw.
quelle
Nachdem Sie Lint in Android Studio ausgeführt und alle nicht verwendeten Ressourcen gefunden haben, können Sie auf der Registerkarte Inspektion auf eine davon klicken. Es enthält einige Details zum Problem und einige Optionen zur Behebung des Problems. Eine davon ist Alle nicht verwendeten Ressourcen entfernen. Durch Auswahl dieser Option werden alle nicht verwendeten Ressourcen gelöscht.
quelle