RuntimeException: невозможно создать экземпляр приложения

Когда я запускаю свое приложение, каждый раз, когда я получаю следующее исключение в своем logcat:

 04-14 09:29:53.965: W/dalvikvm(1020): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
    04-14 09:29:53.985: E/AndroidRuntime(1020): FATAL EXCEPTION: main
    04-14 09:29:53.985: E/AndroidRuntime(1020): java.lang.RuntimeException: Unable to instantiate application   android.app.Application: java.lang.NullPointerException
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at android.app.LoadedApk.makeApplication(LoadedApk.java:482)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3938)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at android.app.ActivityThread.access$1300(ActivityThread.java:123)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at android.os.Handler.dispatchMessage(Handler.java:99)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at android.os.Looper.loop(Looper.java:137)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at android.app.ActivityThread.main(ActivityThread.java:4424)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at java.lang.reflect.Method.invokeNative(Native Method)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at java.lang.reflect.Method.invoke(Method.java:511)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at dalvik.system.NativeStart.main(Native Method)
    04-14 09:29:53.985: E/AndroidRuntime(1020): Caused by: java.lang.NullPointerException
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:362)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at android.app.LoadedApk.getClassLoader(LoadedApk.java:305)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     at android.app.LoadedApk.makeApplication(LoadedApk.java:474)
    04-14 09:29:53.985: E/AndroidRuntime(1020):     ... 11 more

Примечание: когда я удаляю приложение из эмулятора и запускаю его, тогда я не получаю это исключение, но когда я заново запускаю установленное приложение в эмуляторе, я получаю это. Пожалуйста, помогите

Ответ 1

Это подробное сообщение об ошибке, созданное базовой структурой, когда dalvik переустанавливает файл .apk и пытается повторно использовать или перерабатывать предыдущие открытые действия/представления из того же пакета (если вы еще не закрыли предыдущее установленное приложение), Это не имеет ничего общего с вашим приложением, более того, маловероятно, что ваше приложение будет зависать или разбиваться из-за этого подробного сообщения об ошибке на устройстве конечного пользователя.

Кажется, что этот подробный журнал ошибок dalvik произошел только в системе Android 4.0, я сам протестировал его на операционной среде Android 3.2 и 2.3.3, где вы не можете реплицировать, чтобы это сообщение не было показано ни на одном из них. Аналогичный вопрос обсуждался ранее в здесь, и кто-то заполнил отчет об ошибке в Android Tracker.

Я не думаю, что вы должны слишком сильно относиться к этому подробному журналу ошибок, если вы посмотрите больше журналов до и после этой красной ошибки в Logcat, вы можете увидеть полную историю и найти, что предыдущая открытая активность/(которые отмечены как состояние умершего), их убивают, а вновь переустановленные становятся доступными в конечном счете.

Ответ 2

Я понимаю, что это очень старый вопрос, но это может быть полезно в любом случае. Я обнаружил, что когда я наблюдаю эту ошибку в своей собственной разработке, это связано с тем, что ранее запущенный экземпляр моего приложения не закрывался аккуратно, например, путем закрытия фоновых потоков до выхода.

Ответ 3

У меня была такая же ошибка, когда я пытался подключиться к Интернету с помощью JSOUP внутри моего класса приложения. Это было сложно, потому что приложение запускалось на эмуляторе, но не на самом устройстве. Оказалось, что я неправильно использовал библиотеку JSOUP. Загрузка страницы в новый поток решила мою проблему.

Надеюсь, я помог кому-то.

Ответ 4

Надеюсь, это поможет кому-то. Перейдите в запущенные приложения на эмуляторе, нажав на эту кнопку:

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

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

Закройте приложение, которое вы пытаетесь установить, и снова запустите его. Нет необходимости удалять/переустанавливать приложение или очищать проект.

Ответ 5

Для меня это помогло очистить проект. В Eclipse:
- Проект → Чистота
Пожалуйста, контролируйте, что Project → Build Automatically CHECKED
Если после этого gen-Folder пуст, в папке res произошла ошибка. Часто ошибки в папке res не отображаются красным крестом! Удачи и приветствия

Ответ 6

В моем случае эта ошибка появляется после того, как я импортировал проект Android Maven в новое рабочее пространство, а папка SRC не была автоматически добавлена ​​в путь сборки.

Щелкните правой кнопкой мыши по проекту/Путь сборки/Настроить путь сборки/Источник - проверьте, отсутствуют ли источники.

Ответ 7

У меня такая же проблема. Уборка проекта работала для меня.

Выберите проект, перейдите в Project → Clean

Ответ 8

В моем случае logcat покажет мне, что он не может найти начальную активность, но путь Dex был другим, это было ".../data/app/myapp-1" вместо ".../data/app/MyApp". Я сделал это, нажав на имя проекта elcipse "myapp" в окне проводника пакета. Затем щелкните правой кнопкой мыши по нему, → refactor- > rename... Я установил имя проекта в myapp-1, а затем, → refactor- > rename... и снова вернусь к "myapp". Тогда это сработало... некоторые kinf ошибки в затмении?

Ответ 9

У меня такая же проблема. Удаление моего приложения, а затем переустановка, решила проблему.

Ответ 10

Я испытал это, когда импортировал проект, который был построен с другой машины. Просто заблокируйте кеши и перезапустите

Файл > Invalidate Caches/Restart > Invalidate and restart

Ответ 11

Я изменил приложение на другой файл (Module: app) build.gradle, снова запустил приложение на своем устройстве. Затем я отменяю изменения и запускаю приложение снова, и все работает. Он работает на Android Studio 2.3.1 и 4 разных устройствах, которые у меня здесь, от 5.0 до 7.0.

Ответ 12

Я отвечаю на этот вопрос. При использовании gradle clean, gradle installDebug он работает нормально!

   AndroidRuntime  D  Shutting down VM
E  FATAL EXCEPTION: main
E  Process: tv.panda.live.broadcast, PID: 4685
E  java.lang.RuntimeException: Unable to instantiate application tv.panda.live.broadcast.PandaApplication: java.lang.ClassNotFoundException: Didn't find class "tv.panda.live.broadcast.PandaApplication" o
   n path: DexPathList[[zip file "/data/app/tv.panda.live.broadcast-1/base.apk"],nativeLibraryDirectories=[/data/app/tv.panda.live.broadcast-1/lib/arm, /vendor/lib, /system/lib]]
E      at android.app.LoadedApk.makeApplication(LoadedApk.java:572)
E      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4883)
E      at android.app.ActivityThread.access$1500(ActivityThread.java:178)
E      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1573)
E      at android.os.Handler.dispatchMessage(Handler.java:111)
E      at android.os.Looper.loop(Looper.java:194)
E      at android.app.ActivityThread.main(ActivityThread.java:5691)
E      at java.lang.reflect.Method.invoke(Native Method)
E      at java.lang.reflect.Method.invoke(Method.java:372)
E      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
E      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
E  Caused by: java.lang.ClassNotFoundException: Didn't find class "tv.panda.live.broadcast.PandaApplication" on path: DexPathList[[zip file "/data/app/tv.panda.live.broadcast-1/base.apk"],nativeLibraryDi
   rectories=[/data/app/tv.panda.live.broadcast-1/lib/arm, /vendor/lib, /system/lib]]
E      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
E      at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
E      at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
E      at android.app.Instrumentation.newApplication(Instrumentation.java:988)
E      at android.app.LoadedApk.makeApplication(LoadedApk.java:567)
E      ... 10 more
E      Suppressed: java.lang.ClassNotFoundException: tv.panda.live.broadcast.PandaApplication
E          at java.lang.Class.classForName(Native Method)
E          at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
E          at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
E          at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
E          ... 13 more
E      Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available