Ich habe ein Android-Bibliotheksprojekt in meinem Eclipse-Arbeitsbereich, das ich als einzigartige Toolbox verwende. Durch Zufall (1) habe ich gerade festgestellt, dass Ressourcen aus der Bibliothek (XML-Animationen, XML-Layouts, sogar Zeichenvorlagen !!!) in die APKs der Projekte gepackt werden, die die Bibliothek verwenden, auch wenn ich sie nicht verwende / p>
Nach dem Lesen von Verpackt Android immer ungenutzte Ressourcen? Ich frage mich, ob das normal ist. Wie kann ich das vermeiden? Ist der einzige Weg, verschiedene Bibliotheksprojekte zu haben?
BEARBEITEN : Ich habe festgestellt, dass der .ex-Code dekompiliert wird, dass auch nicht verwendeter Code in die apk übergeht.
(1) Ich habe versucht, ein neues Symbol für meine App " /res/drawable/icon.png
" zu testen, aber das Standardsymbol wird weiterhin angezeigt. Ich entfernte das Bild und es zeigte weiterhin das Standard-Icon! Es musste die /res/drawable-mdpi/icon.png
aus der Bibliothek sein.
Das neue Android-Build-System verfügt über einen Mechanismus zum Entfernen von Ressourcen kann als letzter Schritt im Build-Prozess ausgeführt werden. Verwenden Sie sie zusätzlich zum Entfernen von Ressourcen, die von Flusen identifiziert werden.
Beachten Sie, dass der Resource-Stripping-Mechanismus besonders nützlich ist in Verbindung mit Proguard (auch im Build-System enthalten) und wenn Sie es sind Verwenden von Bibliotheken in Ihrem Projekt. Die Idee ist:
Das Entfernen nicht verwendeter Ressourcen, die von lint identifiziert werden, ist immer noch nützlich, da sie entfernt werden:
Wie jemand schon einmal gesagt hat, Proguard kann ungenutzten Code entfernen.
Um ungenutzte Ressourcen zu entfernen, können Sie Android Lint von ADT 16 verwenden. Es hilft Ihnen nicht nur unbenutzte zu entfernen Ressourcen, sondern auch, um mögliche Fehler zu finden. Dieses Zitat stammt von seiner offiziellen Seite:
Hier sind einige Beispiele für die Arten von Fehlern, nach denen gesucht wird:
- Fehlende Übersetzungen (und nicht verwendete Übersetzungen)
- Layout-Performance-Probleme (alle Probleme, die das alte layoutopt-Tool verwendet hat, und mehr)
- Unbenutzte Ressourcen
- Inkonsistente Array-Größen (wenn Arrays in mehreren Konfigurationen definiert sind)
- Probleme mit der Zugänglichkeit und Internationalisierung (fest codierte Strings, fehlende contentDescription usw.)
- Icon-Probleme (wie fehlende Dichten, doppelte Icons, falsche Größen, etc.)
- Usability-Probleme (z. B. keine Angabe eines Eingabetyps in einem Textfeld)
- Offensichtliche Fehler und vieles mehr.
Tags und Links android resources apk android-library