Impossibile creare un'istanza dell'applicazione com.android.tools.fd.runtime.BootstrapApplication? Android


140

Ho aggiornato il mio Android Studio alla versione 2.0. Ma ho avuto un problema, non so perché?

Le informazioni importanti sull'errore:

Impossibile creare un'istanza dell'applicazione com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication

Ho cercato a lungo, ma non ho trovato la risposta giusta che puoi vedere link

Allo stesso tempo, quando faccio clic su File-> Struttura del progetto Mostra questo errore:

inserisci qui la descrizione dell'immagine

C'è qualche problema da qualche parte nelle librerie? Quando Gradle costruisce il programma, le librerie non vengono caricate completamente per il programma corrente. C'è qualche problema con Android Studio versione 2.0?

Quando uso Android Studio 1.4.0 per compilare ed eseguire il programma. Funziona bene per me! Ma quando uso Android Studio 2.0, il problema si presenta!

Perché? Potresti aiutarmi per favore?

Ecco un registro degli errori dettagliato:

11-28 11: 57: 00.489 19890-19890 / com.eallcn.rentagent.debug E / AndroidRuntime: ECCEZIONE FATALE: processo principale: com.eallcn.rentagent.debug, PID: 19890 java.lang.RuntimeException: impossibile istanziare l'applicazione com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication su android.app.LoadedApk.makeApplication (LoadedApk.:jj): android .ActivityThread.handleBindApplication (ActivityThread.java:4586) su android.app.ActivityThread.access $ 1800 (ActivityThread.java:139)
su android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316)
su android.os.Handler.dispatchMessage (Handler.java:102)
su android.os.Looper.loop (Looper.java:136)
su android.app.ActivityThread.main (ActivityThread.java:5314)
su java.lang. reflection.Method.invokeNative (Metodo nativo)
su java.lang.reflect.Method.invoke (Method.java:515)
su com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) at com. android.internal.os.ZygoteInit.main (ZygoteInit.java:680)
su dalvik.system.NativeStart.main (Metodo nativo)
Causato da: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.AppDeb
su com .android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:167) su com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) su android.app.Application.attach (android .java: 194)
su android.app.Instrumentation.newApplication (Instrumentation.java:992)
su android.app.Instrumentation.newApplication (Instrumentation.java:976)
su android.app.LoadedApk.makeApplication (LoadedApk.java: 532)
su android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) su android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) su android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) su android .os.Handler.dispatchMessage (Handler.java:102) su android.os.Looper.loop (Looper.java:136) su android.app.ActivityThread.main (ActivityThread.java:5314) at java.lang.reflect.Method.invokeNative (Native Method) at java.lang.reflect.Method.invoke (Method.java:515) at com.android.internal.os. ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) su com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) su dalvik.system.NativeStart.main (Metodo nativo) Causato da: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication su java.lang.Class.classForName (Native Method) su java.lang.Class.forName (Class.java:251) at java .lang.Class.forName (Class.java:216) su com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:155) at com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) at android.app.Application.attach (Application.java:194) at android.app.Instrumentation.newApplication (Instrumentation.java : 992) su android.app.Instrumentation.newApplication (Instrumentation.java:976) su android.app.LoadedApk.makeApplication (LoadedApk.java:532) su android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) su android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) su android.app.ActivityThread $ H.handleMessage ( ActivityThread.java:1316) su android.os.Handler.dispatchMessage (Handler.java:102) su android.os.Looper.loop (Looper.java:136) su android.app.ActivityThread.main (ActivityThread.java:5314) su java.lang.reflect.Method.invokeNative (Metodo nativo) su java.lang.reflect.Method.invoke (Metodo. java: 515) su com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) su com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) at dalvik.system.NativeStart.main (Metodo nativo) Causato da: java.lang.NoClassDefFoundError: com / eallcn / rentagent / MyDebugEallApplication su java.lang.Class.classForName (Native Method) presso java.lang.Class.Name (Class.java:251) su java.lang.Class.forName (Class.java:216) su com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:155) su com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) su android.app.Application.java:179 .attach (Application.java:194) su android.app.Instrumentation.newApplication (Instrumentation.java:992) su android.app.Instrumentation.newApplication (Instrumentation.java:976) su android.app.LoadedApk.makeApplication (LoadedApk.java:532) su android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) su Android. app.ActivityThread.access $ 1800 (ActivityThread.java:139) su android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) su android.os.Handler.dispatchMessage (Handler.java:102) su android.os.Looper.loop (Looper.java:136) su android.app.ActivityThread.main (ActivityThread.java : 5314) at java.lang.reflect.Method.invokeNative (metodo nativo) at java.lang.reflect.Method.invoke (Method.java:515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) presso dalvik.system.NativeStart.main (Metodo nativo) Causato da: java.lang.ClassNotFoundException: Impossibile trovare la classe "com.eallcn.rentagent.MyDebugEallApplication" nel percorso: DexPathList [[file zip "/data/app/com.eallcn.rentagent.debug-1 .apk "],nativeLibraryDirectories = [/ / data / app-lib / com.eallcn.rentagent.debug-1, / vendor / lib, / system / lib, / data / datalib]] su dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56 ) at java.lang.ClassLoader.loadClass (ClassLoader.java:497) at java.lang.ClassLoader.loadClass (ClassLoader.java:457) at java.lang.Class.classForName (Metodo nativo) su java.lang.Class.forName (Class.java:251) su java.lang.Class.forName (Class.java:216) su com.android.tools.fd.runtime.BootstrapApplication.createRealApplication ( BootstrapApplication.java:155) su com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) su android.app.Application.attach (Application.java:194) su android.app.Instrumentation.newApplication (Instrumentation.java:992) su android.app.Instrumentation.newApplication (Instrumentation.java:976) su android.app.LoadedApk.makeApplication (LoadedApk .java: 532) su android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) su android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) su android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) su android.os.Handler.dispatchMessage (Handler.java:102) su android.os.Looper. loop (Looper.java:136) su android.app.ActivityThread.main (ActivityThread.java:5314) su java.lang.reflect.Method.invokeNative (Native Method) su java.lang.reflect.Method.invoke (Method.java:515) su com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) su com.android.internal. os.ZygoteInit.main (ZygoteInit.java:680) su dalvik.system.NativeStart.main (Metodo nativo)515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) presso dalvik.system.NativeStart.main (Metodo nativo)515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) presso dalvik.system.NativeStart.main (Metodo nativo)680) su dalvik.system.NativeStart.main (metodo nativo)680) su dalvik.system.NativeStart.main (metodo nativo)

 


Penso che questa domanda sia questa: riguarda solo Android Studio 2.0 e la versione Gradle non è compatibile!
GeekHades,

questa risposta risolverà il tuo problema
Amit Vaghela,

Risposte:


313

Disabilita l'opzione Instant Run in Android Studio. Le istruzioni sono nella documentazione di Android Studio Instant Run .

Instant Run tenta di eseguire lo scambio a caldo del codice; ciò provoca lo spostamento della classe dell'applicazione.

Per disabilitare la corsa istantanea Vai a File -> Impostazioni -> Build, Execution, Deployment -> Instant Run ---> deseleziona "Abilita corsa istantanea"


10
Questo mi è appena successo su un dispositivo Marshmallow
Jon,

37
Sono l'unico che pensa che disabilitare questa funzione importante del vostro IDE è NON una buona soluzione? È come dire usare Studio 1.4 . Downvoted.
natario,

17
@mvai: non è una soluzione ideale, ma potrebbe essere la migliore soluzione disponibile. Se il problema è causato da Instant Run, la conoscenza e la possibilità di disabilitarlo a volte sono estremamente utili. Downvoting questa risposta è come sparare al messaggero che ti ha detto di non prendere la strada più breve per tornare a casa perché c'era un'imboscata che ti aspettava ..
LarsH

3
@mvai: OK, queste cose potrebbero probabilmente essere fatte per migliorare la risposta (anche se 4 su 5 sembrano ovvie). Ma il downvoting non è per "questa risposta potrebbe essere ancora migliore" ma è per "questa risposta non è utile". Considerando che questa risposta è molto utile. Sentiti libero di aggiungere i dettagli che ritieni possano migliorare la risposta; qui o sulla tua risposta.
LarsH

2
Questa è una risposta triste, ma poiché Instant Run è così rotto è l'unica soluzione corretta.
clu,

22

Ho avuto lo stesso errore dopo aver provato a utilizzare 2.0.

L'ho risolto ripristinando alcuni cambiamenti di livello:

1/3:

Mutevole:

classpath 'com.android.tools.build:gradle:2.0.0-alpha1'

Di:

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

2/3:

Mutevole:

buildToolsVersion '23.0.2'

Di:

buildToolsVersion "21.1.2"

3/3: (in <project folder>/.idea/gradle.xml)

E:

<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.8" />

Di:

<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.4" />

Non so quale riga sia esattamente l'origine dell'errore, ma con queste tre modifiche è stata risolta.

Spero che ti aiuti :)


Il terzo passo: <option name = "gradleHome" value = "$ APPLICATION_HOME_DIR $ / gradle / gradle-2.4" /> dove posso trovare, voglio cambiare. Posso trovare il codice!
GeekHades,

Ciao, vedi la risposta modificata. ( <project folder>/.idea/gradle.xml)
emmgfx,

i primi 2 passi sembravano risolverlo per me.
Marc,

Che cosa è option name="gradleHome"? Dove si trova quello.
IgorGanapolsky il

1
Se nella tua applicazione hai un gradle di build: aaptOptions.setProperty ("cruncherEnabled", false), è meglio rimuoverlo. E un'altra cosa NON usare la corsa istantanea fino a quando non è completamente stabile, fa molti problemi
Stoycho Andreev

17

Ho avuto lo stesso errore.

Ho risolto pulendo il progetto (Build> Clean Project)


3
risposta sottovalutata!
Anup,

Questa sembra essere la risposta corretta per me. Stavo riscontrando il problema senza utilizzare Android Studio, quindi ho appena eseguito un gradle clean e gradle assembleDebug che fa la stessa cosa.
Shawn,


5

Sono stato in grado di eliminare questo errore aggiornando gradle-wrapper.properties gradle-2.14.1-alle pulendo / ricostruendo il progetto. Quindi ha funzionato bene. Non sono state necessarie altre modifiche (come quelle suggerite nella risposta sopra) ...


1
Stai usando com.android.tools.build:gradle:2.0.0-alpha1? L'errore esiste ancora per me dopo averlo aggiornato a com.android.tools.build:gradle:2.0.0-alpha6+https\://services.gradle.org/distributions/gradle-2.10-all.zip
Liuting

1
Sì, ho eseguito l'aggiornamento ad Android Studio Preview 5, dice che devo aggiornare la versione gradle per l'esecuzione istantanea. Sembra che stiano producendo rilasci alfa abbastanza frequenti per la correzione di bug.
Liuting del

1
Se stai lavorando al progetto del cliente / al tuo prodotto, le build 'alfa' o 'beta' non sono suggeribili da usare; prova invece a utilizzare una o due versioni precedenti ... Perché non sono stabili. E se stai testando la build instabile per la correzione e il miglioramento dei bug, anche lo studio Android dal canale Cannery può aiutare di più nel processo ...
Bhuro,

4

Passando a

classpath 'com.android.tools.build:gradle:2.0.0-alpha6'

problema risolto


3

Ho anche riscontrato questo errore con Android 2.0 nel canale stabile.

Cosa ho fatto?
- Avevo già installata una versione precedente dell'app sul dispositivo (che è stata creata utilizzando la versione precedente di Studio) che stavo cercando di sostituire eseguendo l'app più recente sul dispositivo.
Ho appena disinstallato completamente la versione precedente prima di eseguire la nuova app e il trucco ha funzionato.


2

Solo per coloro che desiderano aggiornare classPath con l'ultima versione del plug-in Gradle, dove trovare l'ultima versione del plug-in?

Controlla su http://tools.android.com/tech-docs/new-build-system e aggiorna classPath. L'ultimo attualmente è

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

Cerca sempre di compilare con l'ultima versione del plug-in.


2

Se non si desidera disabilitare Instant Run, eseguire semplicemente un progetto pulito ed eseguire nuovamente.


2

Cambia classpath 'com.android.tools.build:gradle:2.1.2'per classpath 'com.android.tools.build:gradle:2.1.0'risolvere il mio problema.


2

Ho anche affrontato lo stesso problema e l'ho risolto. Nel mio caso è stato a causa di un errore nella classe globale (per tutta la classe di contesto dell'applicazione), il mio errore era che AndroidManifest.xmlho dichiarato la classe Applicazione VolleyHelpercome: -

 <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true" android:name=".VolleyHelper"
        android:theme="@style/AppTheme"> 

ma in VolleyHelper.javanon ho un costruttore predefinito. Quindi ho aggiunto il costruttore predefinito in VolleyHelper.java(Classe di applicazione).


1

puoi anche aggiungerlo nel tuo gradle per evitare di fare dex sul debug

debug {
    // dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
    // to pre-dex each module and produce an APK that can be tested on
    // Android Lollipop without time consuming dex merging processes.
    minSdkVersion 21
}

1

In alcuni dispositivi Android con versioni precedenti a OS 5.0 viene visualizzato il messaggio di errore:

Causato da: java.lang.ClassNotFoundException: impossibile trovare la classe "com.android.tools.fd.runtime.BootstrapApplication

Dobbiamo disabilitare "Instant Run".

Vai a File> Settings> Built, Execution, Deployment>Instant Run

Quindi disabilitare l'opzione Enable Instant Run to hot swap code.

inserisci qui la descrizione dell'immagine


1

Avevo solo bisogno di riavviare il mio dispositivo. Ho provato prima tutto il resto purtroppo così ore sprecate.


1

Se stai condividendo la tua app, allora è un'altra soluzione

vai a Android Studio --> Build --> Build APK

Verrà visualizzato un pop-up APK generated successfully. Show in Explorerti porterà alla cartella apk generata.


1

Non è necessario disabilitare "esecuzione immediata".
1. vai alla radice del progetto usando File Explorer
2. Termina Android Studio (AS)
3. elimina (riposiziona da qualche parte) il contenuto della cartella ".gradle"
(per ripulire un po 'di soldi e vecchi manufatti)
4. nella cartella res pulisci tutto inappropriato file
5. riavviare l'AS
6. nel set build.gradle del modulo "buildTypes {debug {minifyEnabled true" su false
(sembra che si sia verificato un errore nel mio file proguard, kek)

Sincronizza, compila ed esegui di nuovo l'app: /



-1

Ho appena aggiornato Android Studio all'ultima versione (2.0 Beta 5). Si trasforma classpath 'com.android.tools.build:gradle:2.0.0-beta5'e funziona come un fascino.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.