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.

user182944
fonte
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.

yorkw
fonte
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.

JulianSymes
fonte
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.

Yoda066
fonte
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.

Ojonugwa Jude Ochalifu
fonte
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

stefan96
fonte
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.

Andrey Uglev
fonte
0

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

Selecione o projeto, vá para Projeto -> Limpar

cnuis2cool
fonte
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?

ldt
fonte
0

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

swati
fonte
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

Anish
fonte
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.

Davi Caetano
fonte
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
androidmalin
fonte
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.

Prajwal W
fonte