2016-04-14 18 views
19

Dopo aver aggiornato il mio Android in studio-2,0 e Gradle a 2.0.0 e SDK Platform- a 23.0.3 Quando voglio avviare l'applicazione ci vuole troppo molto tempo (circa 2-3 secondi) e seguente avviso appare in Android Monitor:Primo lancio vorrà molto tempo (ClassLoader riferimento percorso sconosciuto)

W/System: ClassLoader referenced unknown path: /data/app/net.hadifar.test-1/lib/arm 
W/System: ClassLoader referenced unknown path: /data/app/net.hadifar.test-1/lib/arm 
W/art: Suspending all threads took: 5.439ms 
W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 
W/art: Suspending all threads took: 6.808ms 

Ma la seconda volta che lancio l'applicazione è gestito come al solito. Qualcuno può sapere qual è il problema?

+1

Penso che 'instant-run' in enabled .. che ha richiesto sempre più tempo alla prima esecuzione ... – Bharatesh

+2

Sì! Grazie. Disabilito il funzionamento istantaneo e il problema risolto. per disabilitare la corsa istantanea andare su Impostazioni → Build, Execution, Deployment → Instant Run e deselezionare Enable Instant Run. – Amir

+0

cosa significa? (cosa succede se ho impostato l'opzione e se ho impostato l'opzione deselezionata?) –

risposta

9

Nella versione 2.0 è stata aggiunta una nuova funzione instant-run.

Per abilitare questo strumento funzionalità vengono aggiunte molte informazioni meta, quindi la prima generazione e il caricamento richiedono più tempo.

Essere consapevoli circa

  • impostazione minSdkVersion 15 o superiore per ottenere alcun profitto;

  • Instant Run does not currently work with Jack (per supportare java 8) e sarà disabilitato mentre si utilizza la nuova toolchain;

  • è ancora possibile incontrare alcuni glitches and bugs;

Qui possiamo scrivere (o votare) issues (segnalare per rendere lo strumento migliore).

+0

Ho anche riscontrato questo problema e nel mio caso il primo tempo di esecuzione migliora significativamente utilizzando l'esecuzione istantanea se imposto 'minSdkVersion' a' 21' come indicato qui: http://developer.android.com/intl/es/tools/building/building-studio.html # instant-run – antonio

+0

@antonio, sei serio? Quante percentuali di dispositivi possono installare la tua applicazione? – CoolMind

+0

@CoolMind, forse l'ho erroneamente spiegato, intendo impostarlo a 21 solo durante il processo di sviluppo e come soluzione alternativa fino a quando il problema non viene risolto – antonio

3

C'è un comportamento strano in appena rilasciato A.S 2.0 (o 2.1) e lo schermo diventa nero (o Activity pausa) per secondi. Come doc ha spiegato che la prima build potrebbe richiedere più tempo in A.S 2.0 Ma questo problema si verifica in Runtime.

Una soluzione rapida sulla base di @Skadoosh commento di sarebbe disabilitare Run istante:

Settings → Build, Execution, Deployment → Instant Run and uncheck Enable Instant Run 

Maggiori informazioni:

Quando si distribuisce una generazione pulita, strumenti Studio Android app per consentire l'esecuzione immediata per inviare aggiornamenti di codice e risorse. Sebbene l'aggiornamento dell'applicazione avvenga molto più rapidamente, la prima build potrebbe richiedere più tempo per completare. È possibile migliorare il processo di compilazione configurando un impostazioni pochi DexOptions:

android { 
    ... 
    dexOptions { 
    maxProcessCount 4 // this is the default value 
    javaMaxHeapSize "2g" 
    } 
} 

Anche per avvertimento Prima di Android 4.1. dice:

Run Immediata è supportata solo quando si distribuisce la variante build di debug, uso Android Plugin per Gradle versione 2.0.0 o superiore e impostare minSdkVersion su 15 o successivo nel file build.gradle livello di modulo dell'app. Per le migliori prestazioni dello , impostare minSdkVersion su 21 o successivo.

Vedere il video this di Googler può aiutarti a capire un po 'di funzionamento di Instant Run.

0

Ho incontrato lo stesso problema, utilizzare la versione bassa gradle può essere risolto.

build.gradle: classpath 'com.android.tools.build:gradle:1.3.0'

gradle-wrapper.properties: distributionUrl = https: //services.gradle. org/distribuzioni/gradle-2.4-all.zip

+0

Cattivo consiglio. Un tempo di compilazione è tornato a lungo, anche una corsa istantanea deve essere disabilitata nelle impostazioni. Anche una dimensione dell'applicazione è di nuovo grande. – CoolMind

1

ho incontrato lo stesso problema, quando l'aggiornamento Andoid plug Gradle 2,4-2,10 & ho risolto è utilizzando seguito di istruzioni

Vai a Studio Android File-> Impostazioni → Crea, Esegui, Distribuzione → Esegui istantaneo e deseleziona tutto CheckBox

+0

In ritardo ma non ultimo ... continuate così ... –

0

non c'è bisogno di disabilitare l'esecuzione istantanea, ma segui il mio passo, usa il plugin gradle v2.3.2 e usa gradle v3.5 puoi risolverlo, divertiti , comunque ho risolto il problema sul mio progetto.