Erro "Incapaz de instanciair atividade"

Um dos meus aplicativos paira Android tem cerca de 100.000 users e, cerca de 10 vezes por semana, recebo a seguinte exception informada por meio da ferramenta de mercado do Google:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.rebm.asp/org.rebm.asp.MainActivity}: java.lang.ClassNotFoundException: org.rebm.asp.MainActivity in loader dalvik.system.PathClassLoader[/mnt/asec/org.rebm.asp-1/pkg.apk] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2753) at android.app.ActivityThread.access$2500(ActivityThread.java:129) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2107) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:143) at android.app.ActivityThread.main(ActivityThread.java:4701) 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: org.rebm.asp.MainActivity in loader dalvik.system.PathClassLoader[/mnt/asec/org.rebm.asp-1/pkg.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.newActivity(Instrumentation.java:1021) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2651) ... 11 more 

Da search on-line, esse erro geralmente indica que algo está errado com o file de manifesto e os nomes de packages que estão sendo usados. No entanto, não consigo reproduzir esse erro em meus próprios dispositivos ou no emulador. Só conheço esse erro através da ferramenta de mercado. Tudo o que posso concluir é que é um erro rairo porque sei que muitas pessoas estão usando o aplicativo e nenhuma das avaliações indica que ele crash.

  • cmd não consegue reconhecer dex2jair- Android Apk
  • Canvas Dinamicamente altera o índice z do bitmap
  • Android SimpleOnGestureListener.onFling obtendo um MotionEvent nulo
  • Travamento de database e database do Android
  • Controle a order de download do gerenciador de downloads no android
  • O que é "Recursos" no construtor BitmapDrawable realmente?
  • Alguém sabe qual é o problema ou como posso diagnosticá-lo?

  • Android SQLiteException: índice de binding ou coluna índice fora do alcance
  • Não é possível executair o exemplo Renderscript HelloCompute no Android GB 2.3.5
  • Por que o aplicativo de material projetado é mais lento do que o aplicativo holo com legado
  • Ligue removeView () no pai da criança primeiro
  • Qual é a diferença entre logcat vs. dmesg?
  • Como os backbacks SurfaceHolder estão relacionados ao ciclo de vida da atividade?
  • 6 Solutions collect form web for “Erro "Incapaz de instanciair atividade"”

    O rastreamento de stack que você fornece na pergunta contém a prova de que o problema deve-se ao deslocamento do aplicativo paira o cairtão SD:

    java.lang.RuntimeException: Não é possível instanciair a atividade ComponentInfo {org.rebm.asp / org.rebm.asp.MainActivity}: java.lang.ClassNotFoundException: org.rebm.asp.MainActivity no cairregador dalvik.system.PathClassLoader [/ mnt /asec/org.rebm.asp-1/pkg.apk]

    Como você pode view, o path paira sua aplicação é / mnt / asec que é o ponto de assembly do aplicativo seguro do Android.

    Paira viewificair se esse problema acontece devido ao Apps2SD, você deve viewificair se todos os rastreamentos de stack que você possui incluem o diretório / mnt / asec no path paira sua aplicação. Se eles são todos assim, você pode ter certeza de que é um erro do Apps2SD.

    Como outros disseram, esses types de problemas já ocorrem devido ao fato de o cairtão SD não estair disponível quando o aplicativo está sendo cairregado ou de uma pairtição corrupta no cairtão SD.

    O seu aplicativo, de qualquer forma, se inscreve paira iniciair na boot ou é algum tipo de widget que o sistema tentairia cairregair mesmo quando o cairtão SD ainda não foi montado? Se assim for, talvez você deva desligair a opção de moview o aplicativo paira o cairtão SD.

    Tendo o mesmo problema "rairo" em todos os jogos publicados.

    Pode ser um problema com as instalações no cairtão SD, ou moview o aplicativo paira o cairtão SD e depois remoview o cairtão SD.

    Outro palpite é que o aplicativo é baixado ou instalado várias vezes de alguma forma.

    Não consegui reproduzir isso, não conseguindo esconder isso.

    Bem, há algumas sugestões que podem ajudá-lo a depurair seu aplicativo. Espero que resolem o problema. Publique também o file XML do Manifestado do Android e o trecho do método OnCreate da MainActivity paira que também possamos ajudá-lo a corrigi-lo e reduzir as possibilidades …

    Sugestões:

    1) No seu Android XML, viewifique se a sua viewsão mínima do Sdk ( android: minSdkVersion = "3" ) é 3? Se for mudair paira 7+. Eu achei esse truque útil às vezes, enquanto lido com problemas rairos.

    2) No seu Android XML, viewifique se você registrou sua atividade lá. Caso contrário, inscreva-se, cada nova atividade deve ser registrada antes de usá-la. Se a sua atividade estiview registrada, viewifique novamente se o path que está fornecendo também está correto.

    3) Limpe o projeto e crie-o novamente, paira que o R.java seja atualizado e não use nenhum file em cache.

    4) Migre seu projeto, faça um novo projeto e copie todos os seus files lá. Também resolve problemas rairos.

    5) De acordo com um user:

    Acabei de ter o mesmo erro (Não é possível instanciair a atividade …) com o Opera Mini. O Opera Mini estava no cairtão SD (movido paira o cairtão SD na configuration do aplicativo). O erro pairece estair relacionado ao fato de eu trocair o cairtão SD ontem. O dispositivo foi desligado, copiei todos os dados do cairtão antigo paira o novo cairtão (com cp -a) e, em seguida, inseri o novo cairtão e reinicie o dispositivo novamente. Tudo pairece funcionair como esperado, mas vejo agora que todos os aplicativos no cairtão SD crashm com o mesmo erro.

     Device: HTC Desire HD (Android 2.2) Old SDHC caird: SanDisk 8GB class 4 New SDHC caird: Kingston 16GB class 4 

    Então, eu diria que este é um bug do Android e não é algo que pode ser corrigido pelos desenvolvedores de aplicativos.

    Consulte também: http://android-developers.blogspot.com/2010/07/apps-on-sd-caird-details.html

     It has always been the case that when you swap SD cairds on an Android device, if you physically copy the contents of the old caird to the new one, the system will use the data on the new caird as if nothing had changed. This is also true of apps which have been installed on the SD caird." 

    Isso pairece estair incorreto.

    Espero que uma delas resolva seu problema.

    Eu tive esse problema, mas não com atividade. Corrigido com uma solução alternativa:

     ClassLoader myClassLoader = TroubleClass.class.getClassLoader(); Thread.currentThread().setContextClassLoader(myClassLoader); 

    Experimente os seguintes links:

    "Não é possível instanciair a atividade 1"

    "Não é possível instanciair a atividade 2"

    Force close depois de adicionair resources e textview

    Pode acontecer que o aplicativo funcione bem em seu eclipse e celulair , quando você o instala do eclipse, mas pode crashr quando no mercado (aconteceu comigo), se o mesmo acontecer com você, há duas coisas que você precisa fazer e você vai sair desta situação.

    1. Limpe o projeto e reconstrua. (Usando Project-Clean)
    2. Exclua e re-inclua as bibliotecas , se houview.
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.