Ich möchte alle nicht verwendeten Layouts, Strings, Drawables, Farben usw. aus meinem Android-Verzeichnis entfernen. Gibt es irgendwelche Tools, die mir eine Liste von Dateien geben und ich kann aus meinem Repository und Elemente innerhalb bestimmter Dateien (z. B. unbenutzte String-Einträge) entfernen, die nicht mehr verwendet werden?
Antworten
Zu viele Anzeigen?Um string.xml zu überprüfen.
Es ist einfach (zumindest in meiner Version von Eclipse)
In Eclipse für Android (ich habe Version v22.6.2-1085508)
- Klicken Sie mit der linken Maustaste auf den Projektnamen im "Paket-Explorer".
- Wählen Sie "Android-Tools".
- Wählen Sie "Lint ausführen: Auf allgemeine Fehler prüfen".
Wenn Sie nun die Datei strings.xml öffnen, sehen Sie, dass die nicht verwendeten Zeichenfolgen hervorgehoben sind.
Sie können andere mögliche Probleme beheben.
Vielleicht nützlich Andround Unused Resources ist eine Java-Anwendung, die Ihr Projekt nach ungenutzten Ressourcen durchsucht. Ungenutzte Ressourcen nehmen unnötig Platz weg, verlängern die Build-Zeit und überladen die Autovervollständigungsliste der IDE.
Um es zu verwenden, stellen Sie sicher, dass Ihr Arbeitsverzeichnis das Root-Verzeichnis Ihres Android-Projekts ist, und führen Sie es aus:
java -jar AndroidUnusedResources.jar
Bei der Definition von "shrink resources true" können wir auch festlegen, welche Ressourcen wir behalten wollen und welche nicht. Ich habe eine Xml-Datei mit dem Namen keep.xml in den Ordner res/raw eingefügt.
bevor ich weiter gehe, generiere ich ein einzelnes signiertes Build und überprüfe es im Apk-Analyser-Tool, das zeigen wird, dass drawable-xhdpi-v4 messenger_button_send_round_shadow.png hat, das ich für diesen Test entfernen möchte
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:shrinkMode="strict"
tools:discard="@drawable/com_facebook_button_icon_blue.png,
@drawable/com_facebook_button_icon_white.png,
@drawable/com_facebook_button_like_icon_selected.png,
@drawable/messenger_button_send_round_shadow.png,
@drawable/messenger_*" />
Mit messenger_* werden alle Dateien, die mit dem Namen messenger beginnen, aus dem Drawable-Ordner entfernt, oder andersherum, wenn ich eine bestimmte Datei definiert habe, die entfernt werden soll
auf diese Weise können Sie selbst Dateien aus der Bibliothek entfernen Sie können auch Layouts durch @layout/layout name entfernen wenn die Zeichenfläche von einem Layout verwendet wurde und so....
Hier gibt es wirklich ausgezeichnete Antworten, die gute Werkzeuge vorschlagen
Wenn Sie jedoch die Absicht haben, png-Zeichenobjekte (oder andere Bilddateien ), sollten Sie auch in Erwägung ziehen, alle drawable-xxxx-Ordner aus Ihrem Projekt in einen temporären Ordner zu verschieben, dann ein rebuild all durchzuführen und einen Blick auf die Build-Meldungsliste zu werfen, die Ihnen sagen wird, welche Ordner fehlen.
Dies kann besonders nützlich sein, wenn Sie sich einen Überblick darüber verschaffen wollen, welche Ressourcen Sie tatsächlich verwenden und diese vielleicht durch eine Icon-Schriftart oder svg-Ressourcen ersetzen wollen, möglicherweise mit Hilfe der Android-Symbole Bibliothek.