Не вдається створити програму 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

Я довго шукав, але не знайшов правильної відповіді. Ви можете побачити посилання

У той же час, коли я натискаю Файл-> Структура проекту, вона показує цю помилку:

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

Чи є якась проблема десь у губах? Коли Gradle будує програму, libs не завантажуються повністю для поточної програми. Чи є проблеми з 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 / AndroidRuntime: FATAL EXCEPTION: main Process: 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 at android.app.LoadedApk.makeApap (LoadedApk.makeApplication) .ActivityThread.handleBindApplication (ActivityThread.java:2586) на 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.javajanju314)
на java.lang. refle.Method.invokeNative (Native Method)
на java.lang.reflect.Method.invoke (Method.javajanju15)
на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) у ком. android.internal.os.ZygoteInit.main (ZygoteInit.java:680)
at dalvik.system.NativeStart.main (Народний метод)
Викликаний: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcall.bull
на com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:167) на com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179.p) and andpplication.java:179p. at android (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:2586) на android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) та atroid .os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:136) на android.app.ActivityThread.main (ActivityThread.javajanju314) на java.lang.reflect.Method.invokeNative (Native Method) на java.lang.reflect.Method.invoke (Method.javajanju15) на 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 at java.lang.Class.classForName (Native Method) у 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.javajanju32) на android.app.ActivityThread.handleBindApplication (ActivityThread.java:2586) на android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) на android.app.ActivityThread $ H.handle ActivityThread.java:1316) на android.os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.цикл (Looper.java:136) на android.app.ActivityThread.main (ActivityThread.javajanju314) на java.lang.reflect.Method.invokeNative (Native Method) на java.lang.reflect.Method.invoke (Метод. 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 (Native Method) Викликано: java.lang.NoClassDefFoundError: com / eallcn / rentagent / MyDebugEallApplication at java.lang.Class.classForName (Native Method) на java.lang.C. (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) .attach (Application.java:194) на android.app.Instrumentation.newApplication (Instrumentation.java:992) на android.app.Instrumentation.newApplication (Instrumentation.java:976) на android.app.LoadedApk.makeApplication (LoadedApk.javajanju32) на android.app.ActivityThread.handleBindApplication (ActivityThread.java:10586) у 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 (Native Method) на 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:197) на java.lang.ClassLoader.loadClass (ClassLoader.java:257) на java.lang.Class.classForName (Native Method) на 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:2586) на 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.javajanju314) на java.lang.reflect.Method.invokeNative (Native Method) на java.lang.reflect.Method.invoke (Method.javajanju15) на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) на com.android.internal. os.ZygoteInit.main (ZygoteInit.java:680) at dalvik.system.NativeStart.main (Native Method)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 studio 2.0, а версія gradle не сумісна!
GeekHades

ця відповідь вирішить ваше питання
Аміт Вагела

Відповіді:


313

Вимкніть опцію Миттєвого запуску в Android Studio. Інструкції містяться в документації Android Instant Run для Android Studio .

Миттєвий запуск намагається зробити гарячу заміну вашого коду; це призводить до переміщення класу додатків.

Щоб вимкнути миттєвий запуск Перейдіть у меню Файл -> Налаштування -> Збірка, виконання, розгортання -> Миттєвий запуск ---> зніміть прапорець "Увімкнути миттєвий запуск"


10
Це просто трапилося зі мною на пристрої Зефір
Jon

37
Я єдиний, хто вважає , що відключення цієї важливої особливістю вашого IDE є НЕ є хорошим рішенням? Це як би сказати, що використовувати Studio 1.4 . Захищений.
Натаріо

17
@mvai: Це не ідеальне рішення, але це, можливо, найкраще рішення. Якщо проблема викликана миттєвим запуском, то розуміння цього та можливість його відключення часом надзвичайно цінне. Відмовитись від цієї відповіді - це як застрелити посланика, який сказав тобі не їхати найкоротшим маршрутом додому, бо на тебе чекала засада ..
LarsH

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

2
Це сумна відповідь, але оскільки Instant Run настільки зламаний, це єдине правильне рішення.
clu

22

У мене була така ж помилка після спроби використовувати 2.0.

Я вирішив це, повернувши деякі зміни gradle:

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" />

Я не знаю, який рядок є саме джерелом помилки, але за допомогою цих трьох змін це було вирішено.

Сподіваюся, що це допоможе вам :)


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

Привіт, дивіться відредаговану відповідь. ( <project folder>/.idea/gradle.xml)
emmgfx

перші 2 кроки, здавалося, виправили це для мене.
Марк

Що таке option name="gradleHome"? Де це знаходиться.
ІгорГанапольський

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

17

У мене була така ж помилка.

Я вирішив це, очистивши проект (Build> Clean Project)


3
занижена відповідь!
Ануп

Це здається для мене правильною відповіддю. Я отримував проблему, не використовуючи студію Android, тому я просто запустив чистий gradle і gradle assembleDebug, який робить те ж саме.
Шон


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
Liuting

1
Так, я перейшов на Android Studio Preview 5, він говорить про те, що мені потрібно оновити версію gradle для миттєвого запуску. Здається, вони роблять досить часті альфа-релізи для виправлень помилок ..
Liuting

1
Якщо ви працюєте над проектом / власним продуктом клієнта, складання «альфа» або «бета» не рекомендується використовувати; замість цього спробуйте використовувати одну або 2 версії вниз ... Тому що вони не є стабільними. І якщо ви протестуєте нестабільну збірку для виправлення помилок та вдосконалення, навіть андроїд-студія із
каналочного

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

Якщо ви не хочете вимкнути функцію миттєвого запуску, просто зробіть проект чистим та повторним.


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(Application Class).


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 з версіями до ОС 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. перейдіть до кореня проекту за допомогою File Explorer
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.