2016-02-29 5 views
17

mia app importazione AdMob:Come rimuovere alcuni drawable densità da biblioteca Android

com.google.android.gms: play-servizi-ads: 8.4.0

Ma a rendere la mia applicazione molto grande, Ho trovato ci sono "drawable-xxxhdpi", "drawable-tvdpi" da questa libreria con immagini molto grandi, voglio eliminare (escludere) quelli da questa libreria.

ho usato "resConfigs" in Gradle per includere solo le cartelle di densità di cui avevo bisogno, prima,

ma non è sicuro da quando i "resConfigs" per densità è non supportato,

https://code.google.com/p/android/issues/detail?id=179136

L'apk diviso in densità non corrisponde alle mie esigenze.

Cosa devo fare ora?

+1

Forse il mio commento sarà un po 'fuori tema, ma non hanno aggiornato il loro servizio per supportare il vettore drawable? http://android-developers.blogspot.fr/2016/02/android-support-library-232.html – JJ86

risposta

0

Si può provare a utilizzare Resource Shrinking che rimuoverà le risorse indesiderate dalle librerie. Dai suoi documenti:

Oltre a rimuovere le risorse nel progetto che non sono effettivamente necessari in fase di esecuzione, anche questo rimuove le risorse delle biblioteche si sta a seconda se non sono effettivamente necessari per l'applicazione

Tuttavia, è necessario configurare Proguard, che è un problema diverso da solo. Ma se lo hai già configurato, aggiungi lo shrinkResources true allo script gradle come nell'esempio seguente.

buildTypes { 
    release { 
     minifyEnabled true 
     shrinkResources true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
+0

no, riduci il reso non funziona per quello – virsir

+0

Non sono chiaro se non ha funzionato per te o se affermi che la riduzione delle risorse non funziona con resConfigs. Se è il primo, potrebbe essere la causa per impostare la modalità 'strict' come descritto nel link fornito. –

+0

shrinkResources rimuove le risorse inutilizzate. virsir vuole rimuovere una densità specifica di risorse utilizzate. – BladeCoder

4

Si può provare a dividere ed escludere xxxhdpi e tvdpi dagli apri di rilascio.

splits { 
     density { 
       enable true   
       exclude "xxxhdpi", "tvdpi", 
     } 
    } 

Questo genererà diversi apk per inoltrare successivamente al playstore. Per ulteriori informazioni sulle divisioni here.

+0

Devo dire che questa risposta non è ciò di cui avevo davvero bisogno. si dividerà in pacchetti mdpi, hdpi separatamente. – virsir