2016-01-21 15 views
7

Ho notato una differenza di dimensioni tra l'apk generato con queste 2 opzioni.Studio Android: Differenza di dimensioni tra Build APK vs Run APK

perché sta succedendo?

Con il Build -> Crea APK opzione:

MyProject \ app \ accumulo \ uscite \ apk \ app-debug.apk (Dimensioni 2.997 KB)

Con l'opzione Run App :

myProject \ app \ accumulo \ uscite \ apk \ app-debug.apk (Dimensioni 3.300 KB)

Grazie.

risposta

3

Probabilmente sarebbe meglio rispondere se proposto come issue al team di Android Studio. La mia ipotesi è che tu stia usando Instant Run all'interno di Android Studio (AS). Questo spiegherebbe la dimensione maggiore dal momento che Instant Run genera classi proxy per il codice modificato.

Modifica la configurazione Run da compilare utilizzando gradle build e dovresti riuscire a rimuovere il codice aggiuntivo ... Ma questo verrà con un tempo di compilazione/implementazione molto più grande ... Se la dimensione di una build di debug è davvero importante per è quindi OK, ma per la maggior parte questo rovinerà tutti i miglioramenti del team di Android ha fatto per la DSL di recente per migliorare la velocità

+0

Sì, è quello, l'esecuzione istantanea si sta aggiungendo alla dimensione del file, grazie !!! – seba123neo

4

Costruire APK è una scorciatoia per l'esecuzione dell'attività :app:assembleDebug Gradle (ammesso che abbiate la variante di debug attivo nel Build Variants window).

Quando si esegue l'applicazione, prima chiediamo quale dispositivo si desidera targetizzare e quindi passare le informazioni a Gradle. Tra le altre cose, questo ci consente di filtrare le risorse non necessarie. Se hai abilitato l'esecuzione istantanea, inseriamo anche un codice aggiuntivo nell'APK.

+0

Sì, è così, l'esecuzione istantanea si sta aggiungendo alla dimensione del file, grazie !!! – seba123neo

+0

ok, quindi come ottenere il mio vecchio apk con dimensioni ridotte, una volta anche pacchetto di codice aggiuntivo nell'APK –

4

La mia corsa istantanea è stata disattivata.

Ho ottenuto 6 MB di dimensione APK utilizzando Run->Run 'App' e 11 MB utilizzando l'opzione Build->Build APK per l'APK firmato e non firmato. L'opzione Build->Generate Signed APK... mi dà anche 11 MB di APK per la mia app.

Penso che Android Studio scarichi alcune risorse per rendere più veloce la compilazione.

APK con 11 MB di dimensioni hanno più risorse quindi sarà l'opzione migliore per caricare su play-store.

Ho utilizzato Build->Analyze Apk... per analizzare entrambi gli APK, quindi ho trovato la differenza di 5,7 MB nella causa causata da alcuni drawable extra dalle librerie v4 e v17.

enter image description here

6

Quando si crea la build da Build-> Costruire APK, l'APK conterrà tutte le risorse per tutti i dispositivi. i.e per ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi.

Ma nel caso in cui si sta eseguendo l'applicazione su dispositivo/emulatore, verrà rilevato che la risoluzione del telefono è e aggiungerà solo le risorse con tale risoluzione nel file apk. Ad esempio, se il tuo dispositivo è xhdpi, eliminerà tutte le altre risoluzioni dello schermo e conterrà solo le risorse xhdpi.