Anwendung com.android.tools.fd.runtime.BootstrapApplication? Android kann nicht instanziiert werden

140

Ich habe mein Android Studio auf Version 2.0 aktualisiert. Aber ich hatte ein Problem, ich weiß nicht warum?

Die wichtigen Fehlerinformationen:

Die Anwendung com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication kann nicht instanziiert werden

Ich habe lange gesucht, aber ich habe nicht die richtige Antwort gefunden. Sie können den Link sehen

Zur gleichen Zeit, wenn ich auf Datei-> Projektstruktur klicke , wird der folgende Fehler angezeigt :

Geben Sie hier die Bildbeschreibung ein

Gibt es irgendwo in den Bibliotheken ein Problem? Beim Abschluss des Programms durch gradle wurden die Bibliotheken für das aktuelle Programm nicht vollständig geladen. Gibt es ein Problem mit Android Studio Version 2.0?

Wenn ich Android Studio 1.4.0 verwende, um das Programm zu erstellen und auszuführen. Es funktioniert gut für mich! Aber wenn ich Android Studio 2.0 benutze, zeigt sich das Problem!

Warum? Kannst du mir bitte helfen?

Hier ist ein detailliertes Fehlerprotokoll:

11-28 11: 57: 00.489 19890-19890 / com.eallcn.rentagent.debug E / AndroidRuntime: FATAL EXCEPTION: Hauptprozess: com.eallcn.rentagent.debug, PID: 19890 java.lang.RuntimeException: Anwendung kann nicht instanziiert werden com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication at android.app.LoadedApk.makeApplication (LoadedApk.java:537) .ActivityThread.handleBindApplication (ActivityThread.java:4586) unter android.app.ActivityThread.access $ 1800 (ActivityThread.java:139)
unter android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:136)
at android.app.ActivityThread.main (ActivityThread.java:5314)
at java.lang. Reflect.Method.invokeNative (native Methode)
unter java.lang.reflect.Method.invoke (Method.java:515)
unter com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) unter com. android.internal.os.ZygoteInit.main (ZygoteInit.java:680)
bei dalvik.system.NativeStart.main (native Methode) Auslöser
: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEall
unter com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:167) unter com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) unter android.app.Application (Application.java:194)
unter android.app.Instrumentation.newApplication (Instrumentation.java:992)
unter android.app.Instrumentation.newApplication (Instrumentation.java:976)
unter android.app.LoadedApk.makeApplication (LoadedApk.java: 532)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) at android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) at android .os.Handler.dispatchMessage (Handler.java:102) unter android.os.Looper.loop (Looper.java:136) unter android.app.ActivityThread.main (ActivityThread.java:5314) unter java.lang.reflect.Method.invokeNative (native Methode) unter java.lang.reflect.Method.invoke (Method.java:515) unter com.android.internal.os. ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) unter com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) unter dalvik.system.NativeStart.main (native Methode) Auslöser: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication unter java.lang.Class.classForName (native Methode) unter java.lang.Class.forName (Class.java:251) unter java .lang.Class.forName (Class.java:216) unter com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:155) unter com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) unter android.app.Application.attach (Application.java:194) unter android.app.Instrumentation.newApplication (Instrumentation.java) : 992) bei android.app.Instrumentation.newApplication (Instrumentation.java:976) bei android.app.LoadedApk.makeApplication (LoadedApk.java:532) unter android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) unter android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) unter android.app.ActivityThread $ H.handleMessage ActivityThread.java:1316) bei android.os.Handler.dispatchMessage (Handler.java:102) bei android.os.Looper.loop (Looper.java:136) bei android.app.ActivityThread.main (ActivityThread.java:5314) bei java.lang.reflect.Method.invokeNative (native Methode) bei java.lang.reflect.Method.invoke (Methode). java: 515) unter com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) unter com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) unter dalvik.system.NativeStart.main (native Methode) Auslöser: java.lang.NoClassDefFoundError: com / eallcn / rentagent / MyDebugEallApplication unter java.lang.Class.classForName (native Methode) unter java.lang.Class.forName (Class.java:251) unter java.lang.Class.forName (Class.java:216) unter com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:155) unter com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) unter android.app.l .attach (Application.java:194) unter android.app.Instrumentation.newApplication (Instrumentation.java:992) bei android.app.Instrumentation.newApplication (Instrumentation.java:976) bei android.app.LoadedApk.makeApplication (LoadedApk.java:532) bei android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) bei android. app.ActivityThread.access $ 1800 (ActivityThread.java:139) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) unter android.os.Handler.dispatchMessage (Handler.java:102) unter android.os.Looper.loop (Looper.java:136) unter android.app.ActivityThread.main (ActivityThread.java) : 5314) bei java.lang.reflect.Method.invokeNative (native Methode) bei java.lang.reflect.Method.invoke (Method.java:515) unter com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) unter com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) unter dalvik.system.NativeStart.main (Native Methode) Auslöser: java.lang.ClassNotFoundException: Die Klasse "com.eallcn.rentagent.MyDebugEallApplication" wurde im Pfad: DexPathList [[zip-Datei "/data/app/com.eallcn.rentagent.debug-1 nicht gefunden .apk "],nativeLibraryDirectories = [/ data / app-lib / com.eallcn.rentagent.debug-1, / vendor / lib, / system / lib, / data / datalib]] unter dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56) ) unter java.lang.ClassLoader.loadClass (ClassLoader.java:497) unter java.lang.ClassLoader.loadClass (ClassLoader.java:457) unter java.lang.Class.classForName (native Methode) unter java.lang.Class.forName (Class.java:251) unter java.lang.Class.forName (Class.java:216) unter com.android.tools.fd.runtime.BootstrapApplication.createRealApplication ( BootstrapApplication.java:155) unter com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) unter android.app.Application.attach (Application.java:194) unter android.app.Instrumentation.newApplication (Instrumentation.java:992) unter android.app.Instrumentation.newApplication (Instrumentation.java:976) unter android.app.LoadedApk.makeApplication (LoadedApk .java: 532) bei android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) bei android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) bei android.os.Handler.dispatchMessage (Handler.java:102) bei android.os.Looper. Schleife (Looper.java:136) bei android.app.ActivityThread.main (ActivityThread.java:5314) bei java.lang.reflect.Method.invokeNative (native Methode) unter java.lang.reflect.Method.invoke (Method.java:515) unter com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) unter com.android.internal. os.ZygoteInit.main (ZygoteInit.java:680) bei dalvik.system.NativeStart.main (native Methode)515) unter com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) unter com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) unter dalvik.system.NativeStart.main (Native Methode)515) unter com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) unter com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) unter dalvik.system.NativeStart.main (Native Methode)680) bei dalvik.system.NativeStart.main (native Methode)680) bei dalvik.system.NativeStart.main (native Methode)

 

GeekHades
quelle
Ich denke diese Frage ist die folgende: Es geht nur um Android Studio 2.0 und die Gradle-Version ist nicht kompatibel!
GeekHades
Diese Antwort wird Ihr Problem lösen
Amit Vaghela

Antworten:

313

Deaktivieren Sie die Option Sofortausführung in Android Studio. Anweisungen finden Sie in der Dokumentation zu Android Studio Instant Run .

Instant Run versucht, Ihren Code im laufenden Betrieb auszutauschen. Dadurch wird die Anwendungsklasse verschoben.

So deaktivieren Sie die sofortige Ausführung Gehen Sie zu Datei -> Einstellungen -> Erstellen, Ausführen, Bereitstellung -> Sofortige Ausführung ---> Deaktivieren Sie "Sofortige Ausführung aktivieren".

Peeyush Pathak
quelle
10
Dies ist mir gerade auf einem Marshmallow-Gerät passiert
Jon
37
Bin ich der einzige, der denkt , dass deaktivieren diese wichtige Funktion des IDE ist nicht eine gute Lösung? Es ist so, als würde man Studio 1.4 verwenden . Abgestimmt.
Natario
17
@mvai: Es ist keine ideale Lösung, aber es ist möglicherweise die beste verfügbare Lösung. Wenn das Problem durch Instant Run verursacht wird, ist es äußerst wertvoll, dies zu wissen und es manchmal deaktivieren zu können. Das Abstimmen dieser Antwort ist wie das Erschießen des Boten, der dir sagte, du sollst nicht den kürzesten Weg nach Hause nehmen, weil ein Hinterhalt auf dich wartet.
LarsH
3
@mvai: OK, diese Dinge könnten wohl getan werden, um die Antwort zu verbessern (obwohl 4 der 5 offensichtlich erscheinen). Aber Downvoting ist nicht für "diese Antwort könnte noch besser sein", sondern für "diese Antwort ist nicht nützlich". Diese Antwort ist sehr nützlich. Fühlen Sie sich frei, die Details hinzuzufügen, von denen Sie glauben, dass sie die Antwort verbessern würden. entweder hier oder auf eigene Antwort.
LarsH
2
Dies ist eine traurige Antwort, aber weil Instant Run so kaputt ist, ist es die einzig richtige Lösung.
Clu
22

Ich hatte den gleichen Fehler, nachdem ich versucht hatte, das 2.0 zu verwenden.

Ich habe es gelöst, indem ich einige Gradle-Änderungen rückgängig gemacht habe:

1/3:

Ändern:

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

Durch:

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

2/3:

Ändern:

buildToolsVersion '23.0.2'

Durch:

buildToolsVersion "21.1.2"

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

Und:

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

Durch:

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

Ich weiß nicht, welche Zeile genau der Ursprung des Fehlers ist, aber mit diesen drei Änderungen wurde er behoben.

Hoffe dass es dir hilft :)

emmgfx
quelle
Der dritte Schritt: <option name = "gradleHome" value = "$ APPLICATION_HOME_DIR $ / gradle / gradle-2.4" /> Wo finde ich, möchte ich ändern. Ich kann den Code finden!
GeekHades
Hallo, siehe die bearbeitete Antwort. ( <project folder>/.idea/gradle.xml)
emmgfx
Die ersten beiden Schritte schienen es für mich zu beheben.
Marc
Was ist option name="gradleHome"? Wo befindet sich das?
IgorGanapolsky
1
Wenn Sie in Ihrer Anwendung einen Gradle haben: aaptOptions.setProperty ("cruncherEnabled", false), ist es besser, ihn zu entfernen. Und eine weitere Sache, verwenden Sie nicht sofort laufen, bis es voll stabil ist, macht viele Probleme
Stoycho Andreev
17

Ich hatte den gleichen Fehler.

Ich habe es gelöst, indem ich das Projekt bereinigt habe (Build> Clean Project).

Calixto
quelle
3
unterschätzte Antwort!
Anup
Dies scheint die richtige Antwort für mich zu sein. Ich habe das Problem ohne Android Studio bekommen, also habe ich gerade einen Gradle Clean und Gradle AssembleDebug ausgeführt, der das Gleiche tut.
Shawn
9

Gehen Sie einfach zum Android Studio-Menü - Erstellen -> Projekt neu erstellen.

Narendra Singh
quelle
5

Ich konnte diesen Fehler beheben, indem ich gradle-wrapper.properties auf aktualisierte gradle-2.14.1-allund das Projekt bereinigte / neu erstellte. Dann lief es gut. Es waren keine weiteren Änderungen erforderlich (wie in der obigen Antwort vorgeschlagen) ...

IgorGanapolsky
quelle
1
Sind Sie mit com.android.tools.build:gradle:2.0.0-alpha1? Der Fehler besteht für mich immer noch, nachdem ich ihn auf com.android.tools.build:gradle:2.0.0-alpha6+https\://services.gradle.org/distributions/gradle-2.10-all.zip
Liuting
1
Ja, ich habe ein Upgrade auf Android Studio Preview 5 durchgeführt. Dort muss die Gradle-Version aktualisiert werden, damit sie sofort ausgeführt werden kann. Es scheint, dass sie ziemlich häufig Alpha-Releases für Bugfixes machen.
Liuting
1
Wenn Sie an dem Projekt des Kunden / Ihrem eigenen Produkt arbeiten, ist die Verwendung der Builds "Alpha" oder "Beta" nicht empfehlenswert. Versuchen Sie stattdessen, eine oder zwei Down-Versionen zu verwenden ... Weil sie nicht stabil sind. Und wenn Sie den instabilen Build auf Fehlerbehebung und Verbesserungen testen, kann sogar das Android-Studio von Cannery Channel mehr dabei helfen ...
Bhuro
4

Wechseln zu

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

Problem behoben

ar-g
quelle
3

Ich habe diesen Fehler auch mit Android 2.0 im stabilen Kanal erhalten.

Was ich getan habe?
- Ich hatte bereits eine ältere Version der App auf dem Gerät installiert (die mit einer älteren Version von Studio erstellt wurde), die ich durch Ausführen der neueren App auf dem Gerät ersetzen wollte.
Ich habe gerade die ältere Version vollständig deinstalliert, bevor ich die neue App ausgeführt habe, und der Trick hat funktioniert.

Banguru
quelle
2

Nur für diejenigen, die classPath mit der neuesten Gradle-Plugin-Version aktualisieren möchten. Wo finden Sie die neueste Plugin-Version?

Checken Sie http://tools.android.com/tech-docs/new-build-system ein und aktualisieren Sie Ihren classPath. Aktuelle ist derzeit

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

Versuchen Sie immer, mit der neuesten Plugin-Version zu erstellen.

Mahendra Chhimwal
quelle
2

Wenn Sie Instant Run nicht deaktivieren möchten, führen Sie einfach ein sauberes Projekt durch und führen Sie es erneut aus.

easycheese
quelle
2

Ändern, classpath 'com.android.tools.build:gradle:2.1.2'um classpath 'com.android.tools.build:gradle:2.1.0'mein Problem zu beheben.

Ahmed Mostafa
quelle
2

Ich hatte auch das gleiche Problem und habe es gelöst. In meinem Fall lag es an einem Fehler in der globalen Klasse (in der gesamten Anwendungskontextklasse). Mein Fehler lag darin, dass AndroidManifest.xmlich die Anwendungsklasse VolleyHelperwie folgt deklariert habe : -

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

Aber VolleyHelper.javaich habe keinen Standardkonstruktor. Also habe ich den Standardkonstruktor in VolleyHelper.java(Anwendungsklasse) hinzugefügt .

Kumar Kundan
quelle
1

Sie können dies auch zu Ihrem Gradle hinzufügen, um zu verhindern, dass beim Debuggen Dex erstellt wird

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
}
user3682694
quelle
1

Bei einigen Android-Geräten mit Versionen vor OS 5.0 wird die folgende Fehlermeldung angezeigt:

Auslöser: java.lang.ClassNotFoundException: Die Klasse "com.android.tools.fd.runtime.BootstrapApplication" wurde nicht gefunden

Wir müssen "Instant Run" deaktivieren.

Zum File> Settings> Built, Execution, Deployment>Instant Run

Deaktivieren Sie dann die Option Enable Instant Run to hot swap code.

Geben Sie hier die Bildbeschreibung ein

Jorgesys
quelle
1

Ich musste nur mein Gerät neu starten. Versuchte alles andere zuerst leider so verschwendete Stunden.

Anthony
quelle
1

Wenn Sie Ihre App freigeben, ist eine andere Lösung

gehe zu Android Studio --> Build --> Build APK

Ein Popup wird mit kommen APK generated successfully. Show in ExplorerSie gelangen zum generierten apk-Ordner.

Mohammad Tauqir
quelle
1

Keine Notwendigkeit, "Sofortlauf" zu deaktivieren.
1. Gehen Sie auf die Projektwurzel mit dem Datei Explorer
2. Fertig Android Studio (AS)
3. Löschen (relocate irgendwo) „.gradle“ ‚s Ordnerinhalt
(einige cashs und alte Artefakte zu reinigen)
4. in res Ordner sauber aus allen unangemessenen Dateien
5. Starten Sie den AS erneut.
6. Setzen Sie im build.gradle des Moduls "buildTypes {debug {minifyEnabled true" auf false
(das sieht so aus, als ob ein Fehler in meiner Proguard-Datei war, kek).

Synchronisieren, kompilieren und führen Sie die App erneut aus: /

CodeToLife
quelle
1

Dieser Fehler tritt auf, wenn Sie eine leere Aktivität mit einer Java-Datei hinzufügen. Um diesen Fehler zu beheben, müssen Sie das Projekt zunächst erneut erstellen. Dann führen Sie es aus. Danke gelöst.

Siddhant Senapati
quelle
schwarz Aktivität?
Leo unterstützt Monica Cellio
-1

Ich aktualisiere gerade Android Studio auf die letzte Version (2.0 Beta 5). Es verändert sich zu classpath 'com.android.tools.build:gradle:2.0.0-beta5'und wirkt wie ein Zauber.

Mr. Moustard
quelle