Eu estava tentando executar um código de exemplo Ao iniciar o aplicativo no emulador do Android 1.5, eu recebi esses erros .... Alguém tem alguma dica ..?
ERRO do LogCat:
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): FATAL EXCEPTION: main
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.s.android.test/com.s.android.test.MainActivity}: java.lang.ClassNotFoundException: com.s.android.test.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.s.android.test-2.apk]
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1544)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.os.Handler.dispatchMessage(Handler.java:99)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.os.Looper.loop(Looper.java:123)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.main(ActivityThread.java:3647)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.reflect.Method.invokeNative(Native Method)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.reflect.Method.invoke(Method.java:507)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at dalvik.system.NativeStart.main(Native Method)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): Caused by: java.lang.ClassNotFoundException: com.s.android.test.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.s.android.test-2.apk]
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1536)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): ... 11 more
01-13 02:28:08.407: WARN/ActivityManager(112): Force finishing activity com.s.android.test/.MainActivity
Editar Esse erro ocorre com a maioria dos iniciantes, mas você precisa adicionar todas as suas atividades no arquivo Manifest.
android
fatal-error
rahul
fonte
fonte
Respostas:
É um problema de sua intenção.
Por favor, adicione o seu
Activity
no seuAndroidManifest.xml
.Quando você quiser fazer uma nova atividade, registre-a no seu
AndroidManifest.xml
.fonte
abstract
(cometi esse erro durante a refatoração e a mensagem de erro não está ajudando muito).Você pode estar tentando encontrar a vista anterior
onCreate()
que está incorreta.fonte
Há outra maneira de obter uma java.lang.RuntimeException: Não é possível instanciar a exceção ComponentInfo da atividade e essa é a atividade que você está tentando iniciar é abstrata . Cometi esse erro estúpido uma vez e é muito fácil ignorar.
fonte
No meu caso, esqueci de adicionar a biblioteca do Google Maps
Além disso, verifique se não está faltando o ponto anterior antes do caminho da atividade
fonte
Isso também acontece por causa desse problema. Desmarquei os frascos que precisavam ser exportados para o apk e aconteceu a mesma coisa. Marque os frascos que seu aplicativo precisa executar.
fonte
Também encontrei esse problema, mas de uma maneira um pouco diferente. Aqui estava o meu cenário:
Detalhe da aplicação:
<uses-library android:name="com.google.android.maps" />
nos manifestos do projeto da biblioteca e do meu projeto principal (isso pode não ser necessário na biblioteca?)No entanto, ainda encontrei o erro descrito na postagem original e não consegui fazê-lo desaparecer. O problema, porém, era um pouco diferente em um aspecto:
Como eu o consertei:
Esta etapa por si só não resolveu o problema
Depois que o jar foi adicionado ao caminho de construção, alterei a ordem na guia Caminho de Construção Java> Ordem e Exportação - configurei o JAR para o primeiro item da lista (foi o último após os itens / src e / gen )
Em seguida, reconstruí e reimplantei o aplicativo no meu dispositivo - ele funcionou conforme o esperado em uma nova instalação. Apenas para ter certeza, eu o desinstalei novamente 2-3 vezes e reinstalei - ainda funcionava conforme o esperado.
Isso pode ser um erro total de novato, mas passei um bom tempo vasculhando as postagens e meu código para descobrir, por isso espero que possa ser útil para outra pessoa. Pode não corrigir todas as situações, mas, neste caso específico, isso acabou sendo a solução para o meu problema.
fonte
Isso pode não ser relevante para a questão real, mas, no meu caso, tentei implementar o Kotlin e deixei de fora
apply plugin: 'kotlin-android'
. O erro ocorreu porque não conseguiu reconhecer a MainActivity como um arquivo .kt.Espero que ajude alguém.
fonte
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$KOTLIN_VERSION
no main build.gradleEsse erro também pode ser o sinal definitivo de um erro estúpido (como quando eu - quero dizer, tosse, como quando um amigo meu me mostrou seu código uma vez) em que eles tentam executar código fora de um método, como tentar fazer isso :
em vez disso:
fonte
Eu me livrei desse problema excluindo a pasta
Bin
eGen
do projeto (que volta automaticamente quando o projeto será criado) e depois limpando o projeto em -> Menu -> Projeto -> limpo.Obrigado.
fonte
No meu caso, não defini o
setContentView(R.layout.main);
Se você criar uma nova classe, não faça foge para definir isso no
onCreate(Bundle savedInstanceState)
método.Eu cometi esse erro estúpido várias vezes.
fonte
Simplesmente limpe seu projeto de trabalho ou reinicie o eclipse. Em seguida, execute seu projeto. vai funcionar.
fonte
Para mim, minha string de pacote
AndroidManifest.xml
estava incorreta (copiada de um tutorial). Certifique-se de que a sequência de pacotes neste arquivo seja igual à sua atividade principal, por exemploUma maneira fácil de fazer isso é abrir o arquivo AndroidManifest.xml na guia "Manifest" e digite-o na caixa de texto ao lado de Package ou use o botão Browse.
Além disso, a sequência de pacotes da minha atividade estava errada, por exemplo
Eu (estupidamente) recebi o mesmo erro semanas depois quando renomeei o nome do meu pacote. Se você fizer isso, também atualize o
AndroidManifest.xml
arquivo.fonte
Ok, eu sou bastante experiente no iPhone, mas novo no Android. Recebi esse problema quando tive:
esta linha de código acima:
Pode ser que eu esteja privado de sono: P
fonte
Encontrei isso recentemente com uma nova reinstalação do Eclipse. Acontece que meu nível de conformidade do compilador foi definido como Java 1.7 e o projeto exigido 1.6.
No Eclipse: Projeto -> Propriedades -> Java Compiler -> Conformidade com JDK
fonte
Obteve este problema e o corrigiu definindo a propriedade "modo de inicialização" da atividade.
fonte
Outro motivo desse problema pode ser uma biblioteca ausente.
Vá para Propriedades -> Android e verifique se você adicionou as bibliotecas corretamente
fonte
Eu tive o mesmo problema, mas minha atividade foi declarada no arquivo Manifest, com o nome correto.
Meu problema era que não precisava importar bibliotecas de terceiros em uma pasta "libs" e precisava fazer referência a elas no meu projeto (clique com o botão direito do mouse em propriedades, caminho de construção do Java, bibliotecas, adicionar jar ...).
fonte
Isso pode acontecer se sua classe de atividade estiver dentro de um pacote padrão. Corrigi-o movendo a classe de atividade para um novo pacote. e alterando o manifest.xml
antes
depois de
fonte
No meu caso, eu estava tentando inicializar os componentes (UI) antes mesmo de
onCreate
ser chamado para a Atividade.Verifique se os componentes da interface do usuário foram inicializados / vinculados no
onCreate
método apóssetContentView
NB: Este é o meu primeiro erro ao aprender a programação do Android.
fonte
Para mim, era diferente de qualquer um dos itens acima,
A atividade foi declarada como abstrata. É por isso que deu o erro. Uma vez removido, funcionou.
Anteriormente
Após remoção
fonte
Isso acontece com bastante frequência ao usar o NDK. Descobri que é necessário fazer uma "Limpeza" no Eclipse depois de cada vez que faço uma
ndk-build
. Espero que ajude alguém :)fonte
Este erro também ocorre quando você usa
ActionBarActivity
mas não atribui umAppCompat
estilo.Para corrigir isso, apenas defina o pai do estilo de seus aplicativos
Theme.AppCompat
como esse:fonte
Clique com o botão direito do mouse em projeto> propriedades> android> e tente com uma versão diferente do android anteriormente, eu estava fazendo com o android 4.4, depois mudei para o android 4.3 e funcionou!
fonte
Eu tive o mesmo problema (não foi possível instanciar a atividade):
PRIMEIRO motivo:
Eu estava acessando
antes
A maneira correta de fazer isso é abrir a câmera primeiro e depois acessar os parâmetros.
SEGUNDO motivo: declarar sua atividade no arquivo de manifesto
TERCEIRO motivo: declarar a permissão da câmera no seu arquivo de manifesto.
Espero que isto ajude
fonte
No meu caso, eu estava tentando incorporar o SDK do Facebook e estava tendo o ID do aplicativo errado ; assim, o erro estava aparecendo. No seu arquivo de manifesto, você deve ter os metadados adequados:
fonte
Se você possui o Android Studio 2.3.3 e o Android Studio 3.0.0 instalados, a alternância entre os dois programas para desenvolvimento causará esse erro. Isso ocorre porque existem situações em que as classes suportadas em um programa não são suportadas pelo outro e vice-versa. É importante manter a consistência em qual versão do Android Studio está sendo usada para desenvolver um projeto.
fonte
Como sugerido
djjeck
no comentário nesta resposta, deixei de colocarpublic
modificador para a minha classe.Deveria ser
Pode ajudar alguns como eu.
fonte
Eu tentei todas as soluções acima, mas nada funciona para mim. depois de adicionar
extend
atividade em vez deAppCompatActivity
funcionar bem.usava
ao invés de
Eu não sei qual era o problema real.
fonte
Isso aconteceu comigo quando tentei executar um
Activity
no 2.2 que usava importações do Honeycomb não disponíveis nas versões mais antigas do Android e também não incluídas no pacote de suporte da v4.fonte
Sua nova atividade adiciona
AndroidManifest.xml
como".NewActivity"
fonte