Не удалось создать приложение com.android.tools.fd.runtime.BootstrapApplication? Android


140

Я обновил свою Android Studio до версии 2.0. Но у меня возникла проблема, не знаю почему?

Важная информация об ошибке:

Невозможно создать экземпляр приложения com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication

Долго искал, но ответа не нашел можно по ссылке

В то же время, когда я нажимаю File-> Project structure, появляется эта ошибка:

введите описание изображения здесь

Есть ли проблема где-нибудь в библиотеках? Когда gradle собирает программу, библиотеки не загружаются полностью для текущей программы. Есть ли проблемы с Android Studio версии 2.0?

Когда я использую Android studio 1.4.0 для сборки и запуска программы. Он отлично работает для меня! Но когда я использую Android Studio 2.0, проблема обнаруживается!

Зачем? Не могли бы вы мне помочь, пожалуйста?

Вот подробный журнал ошибок:

11-28 11: 57: 00.489 19890-19890 / com.eallcn.rentagent.debug E / Android Время выполнения: НЕОБХОДИМОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.eallcn.rentagent.debug, PID: 19890 java.lang.RuntimeException: невозможно создать экземпляр приложения com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication в android.app.LoadedApk.makeApplication (LoadedApk.java) .ActivityThread.handleBindApplication (ActivityThread.java:4586) в android.app.ActivityThread.access $ 1800 (ActivityThread.java:139)
в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316)
на android.os.Handler.dispatchMessage (Handler.java:102)
на android.os.Looper.loop (Looper.java:136)
на android.app.ActivityThread.main (ActivityThread.java:5314)
на java.lang. Reflect.Method.invokeNative (собственный метод)
в java.lang.reflect.Method.invoke (Method.java:515)
в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) в com. android.internal.os.ZygoteInit.main (ZygoteInit.java:680)
в dalvik.system.NativeStart.main (собственный метод)
Вызвано: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebug
в com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:167) в com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) в android.application.application.application.java:179 (Application.java:194)
в android.app.Instrumentation.newApplication (Instrumentation.java:992)
в android.app.Instrumentation.newApplication (Instrumentation.java:976)
в android.app.LoadedApk.makeApplication (LoadedApk.java: 532)
в android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) в android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) на android .os.Handler.dispatchMessage (Handler.java:102) в android.os.Looper.loop (Looper.java:136) в android.app.ActivityThread.main (ActivityThread.java:5314) в java.lang.reflect.Method.invokeNative (собственный метод) в java.lang.reflect.Method.invoke (Method.java:515) в com.android.internal.os. ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) на dalvik.system.NativeStart.main (собственный метод) Вызвано: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication в java.lang.Class.classForName (собственный метод) в java.lang.Class.forName (Class.java:251) в java .lang.Class.forName (Class.java:216) в com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:155) в com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) в android.app.Application.attach (Application.java:194) в android.app.Instrumentation.newApplication (Instrumentation.java : 992) в android.app.Instrumentation.newApplication (Instrumentation.java:976) в android.app.LoadedApk.makeApplication (LoadedApk.java:532) в android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) в android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) в android.app.ActivityThread $ H.handleMessage ( ActivityThread.java:1316) в android.os.Handler.dispatchMessage (Handler.java:102) в android.os.Looper.цикл (Looper.java:136) в android.app.ActivityThread.main (ActivityThread.java:5314) в java.lang.reflect.Method.invokeNative (собственный метод) в java.lang.reflect.Method.invoke (Method. java: 515) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) в dalvik.system.NativeStart.main (собственный метод) Вызвано: java.lang.NoClassDefFoundError: com / eallcn / rentagent / MyDebugEallApplication в java.lang.Class.classForName (собственный метод) в java.lang.Class.forName (Class.java:251) в java.lang.Class.forName (Class.java:216) в com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:155) в com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) в android.Application. .attach (Application.java:194) в android.app.Instrumentation.newApplication (Instrumentation.java:992) в android.app.Instrumentation.newApplication (Instrumentation.java:976) в android.app.LoadedApk.makeApplication (LoadedApk.java:532) в android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) на android. app.ActivityThread.access $ 1800 (ActivityThread.java:139) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) в android.os.Handler.dispatchMessage (Handler.java:102) в android.os.Looper.loop (Looper.java:136) в android.app.ActivityThread.main (ActivityThread.java : 5314) в java.lang.reflect.Method.invokeNative (собственный метод) в java.lang.reflect.Method.invoke (Method.java:515) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) в dalvik.system.NativeStart.main (Собственный метод) Вызвано: java.lang.ClassNotFoundException: не удалось найти класс «com.eallcn.rentagent.MyDebugEallApplication» по пути: DexPathList [[zip file »/data/app/com.eallcn.rentagent.debug-1 .apk "],nativeLibraryDirectories = [/ data / app-lib / com.eallcn.rentagent.debug-1, / vendor / lib, / system / lib, / data / datalib]] в dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56 ) в java.lang.ClassLoader.loadClass (ClassLoader.java:497) в java.lang.ClassLoader.loadClass (ClassLoader.java:457) в java.lang.Class.classForName (собственный метод) в java.lang.Class.forName (Class.java:251) в java.lang.Class.forName (Class.java:216) в com.android.tools.fd.runtime.BootstrapApplication.createRealApplication ( BootstrapApplication.java:155) в com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) в android.app.Application.attach (Application.java:194) в android.app.Instrumentation.newApplication (Instrumentation.java:992) в android.app.Instrumentation.newApplication (Instrumentation.java:976) в android.app.LoadedApk.makeApplication (LoadedApk .java: 532) в android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) в android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) в android.os.Handler.dispatchMessage (Handler.java:102) в android.os.Looper. цикл (Looper.java:136) в android.app.ActivityThread.main (ActivityThread.java:5314) в java.lang.reflect.Method.invokeNative (собственный метод) на java.lang.reflect.Method.invoke (Method.java:515) на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) на com.android.internal. os.ZygoteInit.main (ZygoteInit.java:680) в dalvik.system.NativeStart.main (собственный метод)515) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) в dalvik.system.NativeStart.main (Собственный метод)515) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) в dalvik.system.NativeStart.main (Собственный метод)680) на dalvik.system.NativeStart.main (собственный метод)680) на dalvik.system.NativeStart.main (собственный метод)

 


Я думаю, что этот вопрос заключается в следующем: речь идет только о студии Android 2.0, а версия gradle несовместима!
GeekHades

этот ответ решит вашу проблему
Амит Вагела

Ответы:


313

Отключите опцию Instant Run в Android Studio. Инструкции находятся в документации Android Studio Instant Run .

Instant Run пытается выполнить горячую замену вашего кода; это вызывает перемещение класса приложения.

Чтобы отключить мгновенный запуск, перейдите в Файл -> Настройки -> Сборка, выполнение, развертывание -> Мгновенный запуск ---> снимите флажок «Включить мгновенный запуск».


10
Это случилось со мной на устройстве Marshmallow
Джон,

37
Я единственный, кто считает , что отключение этой важной особенностью вашего IDE является НЕ является хорошим решением? Это все равно, что сказать: используйте Studio 1.4 . Проголосовали против.
Натарио

17
@mvai: Это не идеальное решение, но может быть лучшим из имеющихся. Если проблема вызвана мгновенным запуском, то знать об этом и время от времени отключать его чрезвычайно важно. Проголосовать против этого ответа - все равно что выстрелить в посыльного, который сказал вам не выбирать кратчайший путь домой, потому что вас поджидала засада ..
Ларш 08

3
@mvai: Хорошо, возможно, эти вещи можно было бы сделать, чтобы улучшить ответ (хотя 4 из 5 кажутся очевидными). Но голосование "против" не за "этот ответ может быть даже лучше", а за "этот ответ бесполезен". Тогда как этот ответ очень полезен. Не стесняйтесь добавлять детали, которые, по вашему мнению, улучшат ответ; либо здесь, либо по своему усмотрению.
LarsH 08

2
Это печальный ответ, но поскольку Instant Run настолько не работает, это единственное правильное решение.
b.lit

22

У меня была такая же ошибка после попытки использовать 2.0.

Я решил это, отменив некоторые изменения градиента:

1/3:

Меняется:

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

От:

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

2/3:

Меняется:

buildToolsVersion '23.0.2'

От:

buildToolsVersion "21.1.2"

3/3: ( дюйм<project folder>/.idea/gradle.xml )

А также:

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

От:

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

Я не знаю, в какой именно строке возникла ошибка, но с этими тремя изменениями она была решена.

Надеюсь, это вам поможет :)


Третий шаг: <option name = "gradleHome" value = "$ APPLICATION_HOME_DIR $ / gradle / gradle-2.4" /> где я могу найти, я хочу изменить. Я могу найти код!
GeekHades

Привет, см. Отредактированный ответ. ( <project folder>/.idea/gradle.xml)
emmgfx

первые 2 шага, казалось, исправили это для меня.
Marc

Что есть option name="gradleHome"? Где это находится.
Игорь Ганапольский

1
Если у вас есть в сборке вашего приложения gradle: aaptOptions.setProperty ("cruncherEnabled", false), лучше его удалить. И еще одна вещь: НЕ используйте мгновенный запуск, пока он не станет полностью стабильным, создает много проблем
Стойчо Андреев

18

У меня была такая же ошибка.

Решил чисткой проекта (Сборка> Чистый проект)


3
недооцененный ответ!
Anup,

Мне кажется, это правильный ответ. У меня возникла проблема без использования студии Android, поэтому я просто запустил gradle clean и gradle assemblyDebug, который делает то же самое.
Шон


5

Мне удалось избавиться от этой ошибки, обновив gradle-wrapper.properties до gradle-2.14.1-allи очистив / перестроив проект. Потом все заработало. Никаких других изменений не потребовалось (как предложено в ответе выше) ...


1
Вы используете com.android.tools.build:gradle:2.0.0-alpha1? Ошибка все еще существует для меня после того, как я обновил ее до com.android.tools.build:gradle:2.0.0-alpha6+https\://services.gradle.org/distributions/gradle-2.10-all.zip
Лютин

1
Да, я обновился до Android Studio Preview 5, там написано, что мне нужно обновить версию gradle для мгновенного запуска. Похоже, они довольно часто выпускают альфа-релизы для исправления ошибок ..
Лютин

1
Если вы работаете над проектом Клиента / своим собственным продуктом, «альфа» или «бета» сборки не рекомендуется использовать; вместо этого попробуйте использовать одну или две предыдущие версии ... Потому что они нестабильные. И если вы тестируете нестабильную сборку для исправления ошибок и улучшений, даже студия Android из cannery channel может больше помочь в этом процессе ...
Буро,

4

Переход на

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

исправленная проблема


3

Я также получил эту ошибку с Android 2.0 в стабильном канале.

Что я сделал?
- У меня была более старая версия приложения, уже установленная на устройстве (которая была построена с использованием более старой версии Studio), которую я пытался заменить, запустив более новое приложение на устройстве.
Я просто полностью удалил старую версию перед запуском нового приложения, и уловка сработала.


2

Только для тех, кто хочет обновить classPath до последней версии плагина gradle, где найти последнюю версию плагина?

Зайдите на http://tools.android.com/tech-docs/new-build-system и обновите свой classPath. Последний в настоящее время

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

Всегда старайтесь использовать последнюю версию плагина.


2

Если вы не хотите отключать Instant Run, просто очистите проект и запустите его повторно.


2

Изменение classpath 'com.android.tools.build:gradle:2.1.2'в classpath 'com.android.tools.build:gradle:2.1.0'затруднительных мою проблему.


2

Я тоже столкнулся с той же проблемой и решил ее. В моем случае это произошло из-за ошибки в глобальном классе (во всем классе контекста приложения), моя ошибка заключалась в том, что AndroidManifest.xmlя объявил класс приложения VolleyHelperкак: -

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

но у VolleyHelper.javaменя нет конструктора по умолчанию. Поэтому я добавил конструктор по умолчанию в VolleyHelper.java(Класс приложения).


1

вы также можете добавить это в свой gradle, чтобы предотвратить создание dex при отладке

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

На некоторых устройствах Android с версиями до OS 5.0 мы получаем сообщение об ошибке:

Вызвано: java.lang.ClassNotFoundException: не удалось найти класс com.android.tools.fd.runtime.BootstrapApplication

Мы должны отключить «Мгновенный запуск».

Перейти File> Settings> Built, Execution, Deployment>Instant Run

Затем отключите опцию Enable Instant Run to hot swap code.

введите описание изображения здесь


1

Мне просто нужно было перезагрузить устройство. Пробовал все остальное сначала, к сожалению, потратил впустую часы.


1

Если вы делитесь своим приложением другое решение -

перейти к Android Studio --> Build --> Build APK

Появится всплывающее окно APK generated successfully. Show in Explorerприведет вас к созданной папке apk.


1

Не нужно отключать «мгновенный запуск».
1. перейдите в корень проекта с помощью Проводника
2. Завершите работу Android Studio (AS)
3. Удалите (переместите куда-нибудь) содержимое папки
.gradle (для очистки некоторых денежных средств и старых артефактов)
4. В папке res удалите все несоответствующие файлы
5. снова запустите AS
6. в модуле build.gradle установите "buildTypes {debug {minifyEnabled true" в значение false
(похоже, что ошибка была в моем файле proguard, kek)

Синхронизируйте, скомпилируйте и снова запустите приложение: /



-1

Я просто обновляю Android Studio до последней версии (2.0 Beta 5). Он превращается classpath 'com.android.tools.build:gradle:2.0.0-beta5'в шарм и работает как шарм.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.