RuntimeException: Não é possível instanciar o aplicativo


97

Quando executo meu aplicativo, sempre recebo a exceção abaixo no meu 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

Observação: quando eu desinstalo o aplicativo do emulador e o executo, não recebo essa exceção, mas quando executo novamente o aplicativo instalado no emulador, estou obtendo isso. Por favor ajude.


1
se o seu pacote for android.app.Application, tente mudar o nome do pacote, parece meio suspeito, parece o pacote do System.
Não está em branco

Além disso, certifique-se de que seu aplicativo esteja declarado no Manifesto.
dcow

Expanda a linha Causado por: java.lang.NullPointerException. Deve haver uma referência a uma linha em seu aplicativo mais adiante na linha
Zaid Daghestani

Não, não tenho nenhum pacote como o que você mencionou na minha inscrição. O aplicativo é declarado no manifesto como: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.infy.meetingmanager.activity" android:versionCode="1" android:versionName="1.0" > <application...> <activity android:name=".LoginActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
user182944

Em qual versão do Android seu aplicativo está rodando, 4.0?
yorkw

Respostas:


194

Esta é uma mensagem de erro detalhada gerada pelo framework subjacente quando dalvik reinstalar o arquivo .apk e tentar reutilizar ou reciclar a atividade / visualização aberta anteriormente do mesmo pacote (se você ainda não fechou o aplicativo instalado anteriormente). Não tem nada a ver com seu aplicativo, além disso, é muito improvável que seu aplicativo seja travado ou travado devido a esta mensagem de erro detalhada no dispositivo do usuário final.

Parece que este log de erro detalhado do dalvik só aconteceu no sistema Android 4.0, eu mesmo testei no ambiente de execução Android 3.2 e 2.3.3, onde você não pode replicar para obter esta mensagem exibida em nenhum deles. Uma questão semelhante foi discutida antes aqui e alguém preencheu um relatório de bug no Android Issues Tracker .

Não acho que você deva se preocupar muito com este log de erro detalhado no momento, se você olhar mais logs antes e depois desse erro vermelho no Logcat, você pode ver a história completa e descobrir que a atividade / visualização anterior aberta (que são marcados como estado morto) são mortos e o recém-reinstalado é removido.


2
Olá, não, meu aplicativo não travou nem travou por causa dessa exceção. Está funcionando bem mesmo após a exceção ser lançada. Acabei de ver a exceção no logcat e não tinha conhecimento dela, por isso pensei em perguntar o mesmo. Obrigado pela informação, muito útil.
user182944

3
Estou recebendo isso no console do desenvolvedor de um aplicativo de produção. Parece que acontece principalmente com a 4.2, mas também vi outra versão (4.1, 4.4).
Dustin

3
@Dustin, você resolveu isso? Como essas exceções reportam no máximo 34 / semana! e muitas reclamações nas mensagens dos usuários!
thecr0w

1
Ainda estou obtendo localmente no Android 5.1.1.
Sam

1
Isso ocorre mesmo em 5.1.1. O que está acontecendo?
Desenvolvedor Android

16

Sei que é uma pergunta muito antiga, mas pode ser útil de qualquer maneira. Descobri que, quando observo esse erro em meu próprio desenvolvimento, é devido à instância em execução anterior do meu aplicativo não fechar corretamente, por exemplo, desligando os threads de fundo antes de sair.


Sim, apertar o botão home no meu telefone e executar novamente remove esse erro para mim também.
Agressor

Faz sentido, mas como pode um aplicativo fechar perfeitamente quando é aberto na frente do usuário e, em seguida, o Android o mata para atualizá-lo?
Sam

Presumivelmente, o Android invoca os métodos onDestroy () nesse cenário, não? Seria de esperar que sim.
JulianSymes

2

Tenho recebido o mesmo erro quando tentei me conectar à internet com JSOUP dentro da minha classe de aplicativo. Era complicado, porque o aplicativo rodava no emulador, mas não no dispositivo real. Acontece que acabei de usar a biblioteca JSOUP de forma errada. Carregando a página em um novo tópico resolveu meu problema.

Espero ter ajudado alguém.


2

Espero que isso ajude alguém. Acesse os aplicativos em execução no seu emulador clicando em:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Feche o aplicativo que você está tentando instalar e execute-o novamente. NÃO há necessidade de desinstalar / reinstalar o aplicativo ou limpar o projeto.


1

Para mim ajudou a limpar o Projeto. No Eclipse:
- Projeto -> Limpar
Por favor, controle esse Projeto -> Compilar Automaticamente é VERIFICADO.
Se a pasta gen estiver vazia depois disso, há um erro na pasta res. Freqüentemente, os erros na pasta res não são mostrados pela cruz vermelha! Boa sorte e saudações


Não ajudou para mim. Quando adbcostumo atualizar de um de meus apks de produção para outro, esse problema acontece, portanto, não parece específico do IDE no meu caso.
Sam

0

No meu caso, esse erro aparece depois de importar o projeto Maven do Android para o novo espaço de trabalho, e a pasta SRC não foi adicionada automaticamente ao caminho de construção.

Clique com o botão direito do mouse no projeto / Caminho de construção / Configurar caminho de construção / Fonte - verifique se há fontes ausentes.


0

Eu tenho o mesmo problema. Limpar o projeto funcionou para mim.

Selecione o projeto, vá para Projeto -> Limpar


Não ajudou para mim. Quando adbcostumo atualizar de um de meus apks de produção para outro, esse problema acontece, portanto, não parece específico do IDE no meu caso.
Sam

0

No meu caso, o logcat me mostrou que não conseguiu encontrar a atividade inicial, mas o Caminho Dex era diferente, era "... / data / app / myapp-1" em vez de "... / data / app / myapp" . Eu desativei isso clicando no nome do projeto elcipse "myapp" na janela do Package explorer. Em seguida, clique com o botão direito sobre ele, -> refatorar-> renomear ... Eu defini o nome do projeto para myapp-1, e então, -> refatorar-> renomear ... e de volta para "myapp". Então funcionou ... algum tipo de bug em eclipse?


0

Eu tenho o mesmo problema. Desinstalar meu aplicativo e reinstalá-lo resolveu o problema.


0

Eu experimentei isso quando importei meu projeto, que foi construído a partir de uma máquina diferente. Apenas invalide caches e reinicie

Arquivo> Invalidar Caches / Reiniciar> Invalidar e reiniciar


0

Mudei o applicationId para algo diferente no arquivo build.gradle (Módulo: app), execute o aplicativo novamente no meu dispositivo. Então, desfaço a alteração e executo o aplicativo novamente e tudo funciona. Funciona no Android Studio 2.3.1 e em 4 dispositivos diferentes que tenho aqui, do 5.0 ao 7.0.


0

Eu atendo esta questão. Quando usado gradle clean, gradle installDebugfunciona ok!

   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

0

Solução Simples:

Apenas reinicie seu emulador ou dispositivo móvel. E o problema desapareceu! O motivo desse problema foi o fato de uma atividade anterior do aplicativo ter sido interrompida indevidamente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.