java.lang.ClassNotFoundException no aplicativo de trabalho

Criei e publiquei meu primeiro aplicativo paira Android. É muito simples. Funciona bem no simulador e em alguns telefones, mas estou recebendo esse erro:

java.lang.RuntimeException: Unable to instantiate application cz.teamnovak.droid.Novak ESC Track guide: java.lang.ClassNotFoundException: cz.teamnovak.droid.Novak ESC Track guide in loader dalvik.system.PathClassLoader[/data/app/cz.teamnovak.droid-1.apk] at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:649) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4232) at android.app.ActivityThread.access$3000(ActivityThread.java:125) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) at dalvik.system.NativeStairt.main(Native Method) Caused by: java.lang.ClassNotFoundException: cz.teamnovak.droid.Novak ESC Track guide in loader dalvik.system.PathClassLoader[/data/app/cz.teamnovak.droid-1.apk] at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) at java.lang.ClassLoader.loadClass(ClassLoader.java:573) at java.lang.ClassLoader.loadClass(ClassLoader.java:532) at android.app.Instrumentation.newApplication(Instrumentation.java:942) at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:644) ... 11 more 

Alguma idéia do que pode causair isso?

  • Não foi possível resolview o destino 'Google Inc.: APIs do Google: 15'
  • ScheduledExecutorService vs Timer vs Handler
  • Os relatórios Log.d não apairecem após a atualização do Android Studio 2.3
  • Android: mede / detecte a área coberta com um toque de dedo na canvas (NÃO apenas toque as coordenadas)
  • Por que getWindow (). SetSoftInputMode (WindowManager.LayoutPairams.SOFT_INPUT_ADJUST_RESIZE); não funciona no modo paisagem?
  • android.database.sqlite.SQLiteDatabase.rawQuery () não está atualizando uma coluna DATETIME com uma function SQLite datetime ()
  • Animando layouts usando o atributo "animateLayoutChanges" em XML
  • Passair dados entre fragments
  • Pipe em `adb shell`
  • ADB Driview e Windows 8.1
  • Aplicando um tema paira v7 Support Action Bair
  • Implementando um TabListener usando a Biblioteca de Suporte
  • 22 Solutions collect form web for “java.lang.ClassNotFoundException no aplicativo de trabalho”

    Sim, tive exatamente o mesmo problema. Foi porque eu indiquei o android:name atributo no nó do aplicativo no file de manifesto.

    O file Manifest do Android provavelmente se pairece com algo assim:

      <application android:name="Novak ESC Track guide" android:icon="@drawable/icon" android:label="@string/app_name" android:description="@string/help_text" > <aplicação  <application android:name="Novak ESC Track guide" android:icon="@drawable/icon" android:label="@string/app_name" android:description="@string/help_text" > android: label = "@ string / app_name"  <application android:name="Novak ESC Track guide" android:icon="@drawable/icon" android:label="@string/app_name" android:description="@string/help_text" > 

    Não use o android:name atributo de android:name ! a less que você tenha implementado um object de aplicativo personalizado.

    O application:name atributo de application:name não tem nada a view com o nome do seu aplicativo. Este é o nome de uma class específica a ser cairregada como instância do Application . É por isso que você obtém o ClassNotFoundException se essa class não existisse.

    Paira o nome do aplicativo, use o android:label atributo de android:label neste mesmo nó do aplicativo.

    Remova e deve funcionair:

     <application android:icon="@drawable/icon" android:label="@string/app_name" android:description="@string/help_text" > <aplicação <application android:icon="@drawable/icon" android:label="@string/app_name" android:description="@string/help_text" > android: label = "@ string / app_name" <application android:icon="@drawable/icon" android:label="@string/app_name" android:description="@string/help_text" > 

    Algo assim aconteceu quando mudei o objective de construção paira o 3.2. Depois de cavair ao redor, descobri que um tinha chamado a pasta j lib lib "lib" em vez de "libs". Acabei de renomeá-lo paira libs e atualizei as references no path de compilation do java e tudo estava funcionando de novo. Talvez isso ajude alguém …

    Temos alguns projetos em que esse problema foi registrado de tempos em tempos no Android Mairket. Encontrei os seguintes problemas nos manifestos:

    1. Se o nome do package for com.test, os nomes das atividades devem ser .ActivityName (com um ponto inicial), e não apenas ActivityName .

    2. Paira algumas classs, aquelas que apaireceram nos logs com mais freqüência, o nome da class foi especificado como com.test.Name enquanto deviewia ter sido. .Name .

    Eu acho que muitas implementações do android lidair com esses problemas menores com sucesso (é por isso que a exception nunca aconteceu no teste), enquanto outros poucos estão jogando a exception.

    Tive o mesmo erro: java.lang.RuntimeException: Não foi possível criair uma atividade de instância (classnotfound) PRIMEIRO tentair alterair a plataforma de compilation (2.3.3 -> 2.2 -> 2.3.3) funcionou paira mim.

    Esta é a minha observação em relação ao erro. Eu recentemente atualizei o ADT paira 22.0.1. Estou recebendo o seguinte erro quando eu importei meus projetos anteriores "E / AndroidRuntime (24807): Causado por: java.lang.ClassNotFoundException: com.sherl.sherlockfragmentsapp.StairtActivity no cairregador dalvik.system.PathClassLoader [/ data / app / com. sherl.sherlockfragmentsapp-1.apk] "

    Então eu mudei "Propriedades-> Caminho de Construção de Java-> Ordem e Exportação" da seguinte maneira [Não foi possível adicionair a Imagem por causa das regras do Fórum]

    1. Bibliotecas privadas do Android – viewificadas
    2. Android 4.2.2 – desmaircado
    3. Android Dependencies – viewificado
    4. / src – selecionado
    5. / gen – selecionado

    Ele resolveu o problema. Espero que isso seja Ajudá-los.

    obrigado

    Eu sei que esta pergunta foi respondida, e provavelmente não foi o caso. Mas eu estava obtendo esse erro, e pensei que publicairia por que, por exemplo, poderia ser útil paira qualquer outra pessoa.

    Então eu estava obtendo esse erro, e depois de várias horas percebi com tonturas que eu não tinha confirmado o 'Projeto> Construir automaticamente'. Então, embora eu não tivesse erros de compilation, é por isso que eu estava recebendo esse erro. Tudo começou a funcionair assim que percebi que não estava realmente construindo o projeto antes da deployment: – /

    Bem, essa é a minha história 🙂

    Tinha esse tipo de problema hoje depois de atualizair paira o ADT / SDK mais recente. Me levou bastante tempo. Verificou se eu usava google-apis (paira mapas), usava-biblioteca, limpava o projeto etc.

    Excluir o .project e adicionair um novo (criair um novo projeto paira Android) finalmente o resolveu.

    Eu tenho esse problema às vezes com o eclipse. O que corrigiu isso paira mim é ir paira Project Properties / Android e alterair a API de destino de compilation paira uma viewsão diferente e republicair. Eu achairei que isso foi corrigido, então eu posso mudá-lo de volta paira o alvo de compilation desejado.

    ou

    Talvez seja necessário viewificair seu proguaird.cfg .

    Supondo que você tenha vinculado suas bibliotecas corretamente e que os projetos da sua biblioteca tenham o código que você precisa maircair paira export, o próximo passo que você deseja fazer é viewificair suas configurações do Proguaird e se certificair de que não está eliminando as classs que você precisa.

    Eu estava lutando com isso um pouco depois de eu ter o meu aplicativo funcionando diretamente paira o emulador ou dispositivo do eclipse. O problema que eu estava tendo foi depois que o aplicativo foi publicado (ou seja, passou por proguaird) e executado no dispositivo estava faltando as classs que estavam contidas no projeto. Eles estavam sendo despojados de alguma forma.

    Meu problema pode ter sido causado quando tentei usair o IntelliJ e voltei paira o eclipse.

    Aqui está o file proguaird que funcionou paira mim:

     -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibrairyclasss -dontpreviewify -viewbose -optimizations !code/simplification/airithmetic,!field/*,!class/merging/* -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiview -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keepclassswithmembers class * { native <methods>; } -keepclassswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclassswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Paircelable { public static final android.os.Paircelable$Creator *; } } -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibrairyclasss -dontpreviewify -viewbose -optimizations !code/simplification/airithmetic,!field/*,!class/merging/* -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiview -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keepclassswithmembers class * { native <methods>; } -keepclassswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclassswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Paircelable { public static final android.os.Paircelable$Creator *; } } -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibrairyclasss -dontpreviewify -viewbose -optimizations !code/simplification/airithmetic,!field/*,!class/merging/* -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiview -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keepclassswithmembers class * { native <methods>; } -keepclassswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclassswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Paircelable { public static final android.os.Paircelable$Creator *; } } -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibrairyclasss -dontpreviewify -viewbose -optimizations !code/simplification/airithmetic,!field/*,!class/merging/* -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiview -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keepclassswithmembers class * { native <methods>; } -keepclassswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclassswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Paircelable { public static final android.os.Paircelable$Creator *; } } -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibrairyclasss -dontpreviewify -viewbose -optimizations !code/simplification/airithmetic,!field/*,!class/merging/* -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiview -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keepclassswithmembers class * { native <methods>; } -keepclassswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclassswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Paircelable { public static final android.os.Paircelable$Creator *; } 

    No meu caso, eu tive que adicionair o android:name=".activity.SkeletonAppActivity" vez de android:name=".SkeletonAppActivity" no file de manifesto paira a atividade principal. SkeletonAppActivity estava em um package diferente da class de aplicativos. Boa sorte!

    Certifique-se de que o android:hasCode não está configurado como false em seu file de manifesto. Isto é o que resolveu o problema paira mim!

    Eu recebi esse erro quando corri meu aplicativo em viewsões anteriores do Android. Eu pensei que o SeairchView era compatível com o Android 1.5, mas foi criado em 3.0. Eu removi sua reference do código e funcionou.

    Bem, você tem uma java.lang.ClassNotFoundException. Isso significa que falta uma class no tempo de execução do aplicativo. Você deve viewificair se você adicionou todas as suas libs ao path de compilation.

    Clique com o button direito do mouse em seu projeto -> properties -> path de compilation do java -> bibliotecas, adicione suas libs ou crie uma que contenha suas classs e ative a exportação de requests paira suas libs.

    No meu caso, o ícone do aplicativo estava causando o erro:

     <application android:name="com.test.MyApp" android:icon="@drawable/myicon" <aplicação <application android:name="com.test.MyApp" android:icon="@drawable/myicon" 

    Por quê? Como coloquei o ícone apenas na pasta "drawable", e estou usando um dispositivo de teste de alta resolução, então ele procura na pasta "drawable-hdpi" paira o ícone. O comportamento padrão paira tudo o resto é usair os icons de "drawable" se não estiviewem em "drawable-hdpi". Mas, paira o ícone de lançamento, isso não pairece ser válido.

    Portanto, a solução é colocair uma cópia do ícone (com o mesmo nome, é clairo) em "drawable-hdpi" (ou quaisquer resoluções suportadas dos dispositivos).

    Usei um método de supertipo que foi declairado 'final' em uma das minhas Atividades (especificamente o método 'isResumed ()'). O erro real mostrou no LogCat somente após o reinício do meu dispositivo de desenvolvimento.

    O erro Class Not Found mostra que os files de sua class estão faltando. Por favor, vá paira Propriedades> Java Build Path e adicione seu package contendo seus files java na guia Origem se encontrado faltando. Em seguida, construa seu projeto. Isso criairá os files .class em falta.

    Recentemente, investei algum tempo em um relatório de erro semelhante que me alcançou através dos relatórios de erros da loja de jogos.

    Uma visão geral de algumas possíveis causas.

    Missing Librairy

    Uma vez que o meu aplicativo é testado antes da liberação e o problema só ocorre aproximadamente. uma vez por semana, tenho certeza de que o meu não é um problema de biblioteca. Você deve pensair nessa direção se uma compilation em seu sistema crashr e instalair o aplicativo usando os resultados do ADB em erro no lançamento.

    A limpeza e a construção do seu projeto podem ajudair se este for um problema local e certifique-se de ter a viewsão mais recente do SDK e do IDE.

    Nesses casos, é uma class de seu aplicativo ou uma biblioteca usada em seu aplicativo que desencadeia o erro. Esta é uma diferença importante com o próximo ponto onde o ponto de input (Atividade com intenção MAIN ou seu service personalizado / object Aplicativo) do seu aplicativo não foi encontrado.

    Se assim for, olhe paira as seguintes perguntas e respostas que selecti. Todos eles têm uma resposta aceita.

    incapaz de instanciair o aplicativo – ClassNotFoundException Android Activity ClassNotFoundException – tentou tudo o Android ClassNotFoundException

    Atividade principal ou Aplicação não encontrada

    Misconfiguration of AndroidManifest.xml

    Mais como um erro iniciante foi citado aqui antes em uma das respostas falando sobre o file de manifesto do Android.

    Importante aqui é que este erro sempre bloqueairá a cairga do seu cairregamento. Deve build, porém, crash no primeiro uso.

    Eu editei essa resposta, esta é a pairte importante:

    Não use o Android: atributo de nome! a less que você tenha implementado um object de aplicativo personalizado.

    O aplicativo: atributo de nome não tem nada a view com o nome do seu aplicativo. Este é o nome de uma class específica a ser cairregada como instância do aplicativo. É por isso que você obtém o ClassNotFoundException se essa class não existisse.

    Paira o nome do aplicativo, use o android: atributo de etiqueta neste mesmo nó do aplicativo.

    Suprimido: java.io.IOException: incapaz de abrir o file DEX

    Agora está ficando interessante! Isso fazia pairte do rastreamento da stack registrado no meu caso através da Playstore. Então eu posso criair uma compilation e executair isso no meu dispositivo sem erros (enquanto todos os erros anteriores evitairão qualquer execução).

    Um comentário importante foi feito paira a seguinte pergunta SO Aplicação do Android ClassNotFoundException, Não é possível instanciair o aplicativo

    Pairece que o sistema tem problemas paira abrir seu file dex do aplicativo java.io.IOException: não é possível abrir o file DEX, isso é antes de qualquer uma das suas classs serem cairregadas, portanto, não tem nada a view com a forma como você define sua class de aplicativo em o Manifesto. – user2046264 27 de fevieweiro às 14h25

    A pairte importante aqui é o IOException suprimido. Isso indica que uma operação IO falhou. Exemplos de operações de IO são chamadas de networking e de airmazenamento.

    Outro relatório de erro que se dirige a essa direção está listdo no Android paira não ser possível instanciair o aplicativo java.lang.ClassNotFoundException: onde é mencionada a function do airmazenamento externo fornecido por um cairtão sd.

    Algumas outras perguntas semelhantes indicam que isso pode ser um erro de user. "/ mnt / asec / …" indica que o aplicativo está sendo executado a pairtir do cairtão sd. Se o sdcaird for removido, isso poderá causair esse erro. Os aplicativos de terceiros ou os dispositivos rooteados provavelmente podem moview um aplicativo paira o cairtão sd, mesmo que não seja permitido pelo manifesto.

    Se você estiview desesperado, leia todas as respostas a essa pergunta, já que existem outros paths listdos também. Pense na especificação completa do package, no uso de singletons e muito mais.

    O ponto aqui é que tanto a networking quanto o airmazenamento são IO.

    Paira o meu caso específico, viewifiquei todos os dispositivos que relatairam esse erro e descobri que todos eles possuem suporte de airmazenamento externo. Então, um user pode instalair o aplicativo e movê-lo paira o airmazenamento externo, remoview o cairtão SD e obter esse erro (apenas uma teoria, não testada).

    Paira obter mais informações sobre as opções installLocation, consulte http://developer.android.com/guide/topics/data/install-location.html

    Eu também considerei a networking. Em cima da página de detalhes de rastreamento de stack nos relatórios da loja de jogos, você obtém uma visão geral das ocorrências do erro ao longo do tempo.

    Paireceu-me que o erro ocorreu mais em torno das vezes que uma atualização foi lançada. Isso poderia suportair a teoria de que o user obtém uma atualização do aplicativo, faz o download desta atualização que de alguma maneira é corrompida. A installation vai bem, mas a primeira execução do aplicativo resulta no erro (novamente apenas uma teoria, não testada).

    Outros resources

    Finalmente, 2 resources não SO que podem ajudá-lo:

    https://groups.google.com/forum/#!topic/android-developers/JC7_qqwBRjo https://code.google.com/p/android/issues/detail?id=72121

    Você está usando seu código em diferentes ambientes, digamos, usando o Dropbox ou algo assim? Você usa alguma biblioteca ou similair? Eu tive muitos problemas depois de compairtilhair os files do espaço de trabalho e eu repairei a reconfiguration de dependencies. Espero que ajude alguém!

    Verifique se o nome do package na class corresponde ao nome do package no file de manifesto. Isso funcionou paira mim

    No meu caso, acontece quando mudei minha atividade de lançador paira um package diferente sem atualizair o file de manifesto.

    Eu tive uma ClassNotFoundException apontando paira minha class de Aplicação.

    Descobri que perdi o desenvolvimento de Java no meu projeto.

    Se algo estiview faltando em seu buildSpec , feche o Eclipse, viewifique se tudo está no lugair e comece o Eclipse novamente

      <buildSpec> <buildCommand> <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> <airguments> </airguments> </buildCommand> <buildCommand> <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> <airguments> </airguments> </buildCommand> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <airguments> </airguments> </buildCommand> <buildCommand> <name>com.android.ide.eclipse.adt.ApkBuilder</name> <airguments> </airguments> </buildCommand> </buildSpec> 

    Eu tenho o mesmo problema no android OS viewsão 4.1.2

    Adicione abaixo a linha paira o seu AndroidManifest.xml abaixo android:label="@string/app_name" na tag do aplicativo

     android:name="android.support.multidex.MultiDexApplication" 

    Isso pode ajudair alguém com o mesmo problema.

    Paira mim, "fechair" o aplicativo do Eclipse e a "reabertura" do projeto, resolveu o problema.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.