2016-06-02 13 views
2

So ziemlich, was der Titel sagt. Ich habe 2 PNGs außerhalb von reinen XML-Dateien für Vektor-Drawables und ich benutze die Vector-Zeichnungs-Support-Bibliothek.Warum habe ich immer noch PNGs nach der Implementierung von Vector-Zeichnungs-Support-Bibliothek?

android { 
    ... 
    defaultConfig { 
     ... 
     vectorDrawables.useSupportLibrary = true 
    } 
} 
dependencies { 
    ... 
    compile 'com.android.support:appcompat-v7:23.2.0' 
} 

ich dekompilierten die apk, die von diesem mit apktool baut und fand, dass es noch etwa 150 png in meinem res Ordner ist, obwohl ich nur 2 in meinem res. Habe ich bei der Implementierung etwas falsch gemacht?

+0

Das sieht nicht gut aus, wenn Ihre gradle Plugin Version 2+, oder? Eine Sache zu versuchen wäre, Ihr Projekt zu säubern (Build> Clean Project), falls PNGs erzeugt wurden, bevor Sie die korrekte Einrichtung an Ort und Stelle hatten, und Ihr Build braucht nur einen Neustart –

Antwort

0

Weil VectorDrawableCompat PNGs zur Kompilierzeit generiert.

Dies ist erforderlich, da ältere APIs (< 19) keine Vektorzeichen unterstützen. Stellen Sie sicher, dass Ihr Gradle-Plugin 1.5.0 oder neuer ist.

Denn nicht die PNGs bekommen, müssen Sie minSDK zu und nicht Verwendung VectorDrawableCompat gesetzt.

Siehe the docs

+0

Ok, also muss ich noch durch gehen apk Spaltung. Kennen Sie gute Beispiele oder Tutorials von/für api apk splitting? Ich konnte nur das offizielle Tutorial finden, was nicht sehr hilfreich war. – iHowell

+0

** Sie können VectorDrawableCompat zurück auf API 7 und AnimatedVectorDrawableCompat auf allen API 11 und höheren Geräten verwenden. ** http://android-developers.blogspot.com/2016/02/android-support-library-232 .html –

+0

Hey, also habe ich meine minSDK auf 21 gesetzt und dann die appCompat-Bibliothek und die vectorDrawables-Zeile entfernt, aber ich erzeuge immer noch PNGs. Was könnte das sonst noch verursachen? – iHowell