2016-04-13 17 views
14

Desidero rimuovere le risorse inutilizzate dal mio progetto per ridurre le dimensioni dell'app. C'è un modo per farlo usando Android Studio IDE in modo efficiente?Rimuovere le risorse inutilizzate utilizzando Android Studio?

+1

[guarda questo] (http://cyrilmottier.com/2014/08/26/putting-your-apks-on-diet/) –

+0

Fare clic destro sulla risorsa e fare clic su Trova l'opzione di utilizzo. verrà visualizzato se è usato o meno. in caso contrario, rimuoverlo in sicurezza. – androidnoobdev

+0

vedere questo: http: //stackoverflow.com/questions/6373482/remove-all-unused-resources-from-an-android-project –

risposta

25

Il Gradle sistema di compilazione per Android supporta Resource Shrinking : la rimozione automatica delle risorse che sono inutilizzati, al momento della compilazione, in app confezionato. Oltre a rimuovere risorse nel progetto che non sono effettivamente necessarie in fase di runtime, rimuove anche le risorse dalle librerie a cui si sta dipendendo se non sono effettivamente necessarie dall'applicazione.

Ad esempio, la tua applicazione utilizza Google Play Services per accedere, ad esempio, alla funzionalità di Google Drive e al momento non utilizzi Google Accedi, quindi rimuoverà le varie risorse estraibili per i pulsanti di accesso.

Nota:La riduzione delle risorse funziona solo in combinazione con la riduzione del codice (ad esempio ProGuard). È così che può rimuovere le risorse inutilizzate dalle biblioteche; normalmente, tutte le risorse in una libreria vengono utilizzate, ed è solo quando rimuoviamo il codice inutilizzato che diventa evidente quali risorse sono referenziate dal codice rimanente.

Per attivare la contrazione delle risorse, aggiornare il tipo di generazione nel modo seguente:

android { 
    ... 

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

E Google ha recentemente lanciato Android Studio 2.0 ufficialmente, ora che stanno dando un'opzione nell'IDE stesso.

clic destro su App -> Refactor -> Rimuovi risorse inutilizzate

vi verrà chiesto

enter image description here

Controllare l'azione di dialogo prima della conferma in modo che si può ottenere liberare anche le dichiarazioni non utilizzate @id.

  • In termini di ottimizzazione APK, considerare anche Selecting a Format.
  • Utilizzare WebP Le immagini offrono una compressione migliore rispetto a JPEG o PNG. Le immagini smarrite di WebP sono supportate in Android 4.0 (livello API 14) e versioni successive, mentre le immagini WebP senza perdita e trasparenti sono supportate in Android 4.3 (livello API 18) e versioni successive.
+0

funziona con i drawable | mipmaps? – Amir

+0

@Amir Sì, lo fa. –

+0

Quindi la mia dimensione dell'applicazione è passata da 39.98mb a 39.99mb. Ma non posso immaginare di non avere risorse inutilizzate (specialmente in tutte le librerie che stiamo usando). – 4ndro1d

0

In Android Studio. Puoi utilizzare Android Lint. Mostrerà "Strings, delle risorse, importazione .." Non usare

Analyze -> Inspect Code -> Whole Project -> OK 
0
  1. è lo studio di Android mostra lo stack di chiamate delle applicazioni non-utilizzati o le applicazioni utilizzate? Per me, lo stack delle chiamate è importante. Mostra?
  2. Funziona su dll ... cioè su librerie dinamiche? Esempio: ho detto 4 applicazioni e 10 librerie comuni. Tutte le 4 applicazioni utilizzano solo 6 librerie e non utilizza 4 librerie, che è una risorsa non utilizzata e deve essere rimossa per rendere il sistema più leggero. Android Studio 2.0 funziona con DLL?