アプリケーションを実行すると、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
注:エミュレーターからアプリをアンインストールして実行すると、この例外は発生しませんが、エミュレーターでインストールしたアプリケーションを再実行すると、これが発生します。助けてください。
これは、dalvikが.apkファイルを再インストールし、同じパッケージから以前に開いたアクティビティ/ビューを再利用またはリサイクルしようとしたときに、基になるフレームワークによって発生する詳細なエラーメッセージです(以前にインストールしたアプリをまだ閉じていない場合)。また、アプリとは何の関係もありません。また、エンドユーザーのデバイスに表示されるこの詳細なエラーメッセージによって、アプリがフリーズまたはクラッシュすることはほとんどありません。
このdalvikの詳細なエラーログはAndroid 4.0システムでのみ発生したようです。Android 3.2および2.3.3の実行環境で自分でテストしました。どちらにもメッセージは表示されません。同様の質問が here で以前に議論されており、誰かが Android Issues Tracker にバグレポートを記入しています。
現時点では、この詳細なエラーログについてあまり気にする必要はないと思います。Logcatでこの赤いエラーの前後にさらにログを見ると、完全なストーリーを見ることができ、以前に開いたアクティビティ/ビュー(死んだ状態としてマークされている)殺され、新しく再インストールされたものが最終的にポップされます。
これは非常に古い質問であることに気づきましたが、これはとにかく便利かもしれません。私自身の開発でこのエラーを観察したとき、それは、例えば、終了する前にバックグラウンドスレッドをシャットダウンするなど、以前に実行していたアプリのインスタンスがきちんと閉じないことが原因であることがわかりました。
アプリケーションクラス内でJSOUPを使用してインターネットに接続しようとすると、同じエラーが発生します。アプリケーションはエミュレータで実行されますが、実際のデバイスでは実行されないため、注意が必要でした。 JSOUPライブラリを間違って使用したことが判明しました。 新しいスレッドでページを読み込んでいます 問題を解決しました。
私が誰かを助けたことを願っています。
私にとっては、プロジェクトをきれいにするのに役立ちました。 Eclipseの場合:
-プロジェクト->クリーン
プロジェクトを制御してください->自動的にビルドがチェックされます
その後、gen-Folderが空の場合、res-folderに誤りがあります。多くの場合、res-folderの間違いは赤十字で示されません!幸運と挨拶
(Module:app)build.gradleファイルでapplicationIdを別のものに変更し、デバイスでアプリを再度実行します。その後、変更を取り消してアプリを再度実行すると、すべてが機能します。 Android Studio 2.3.1およびここにある4つの異なるデバイス(5.0から7.0)で動作します。
別のマシンからビルドされたプロジェクトをインポートしたときに、これを経験しました。キャッシュを無効にして再起動するだけです
ファイル>キャッシュの無効化/再起動>無効化して再起動
この質問に答えます。 gradle clean
、gradle installDebug
を使用すると問題なく動作します!
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
私の場合、logcatは最初のアクティビティが見つからないことを示していますが、Dexパスは異なり、「.../data/app/myapp」ではなく「.../data/app/myapp-1」でした。 。パッケージエクスプローラーウィンドウで、主なプロジェクト名「myapp」をクリックして、これを解決しました。次に、それを右クリックして、-> refactor-> rename ...プロジェクト名をmyapp-1に設定し、次に-> refactor-> rename ...に戻り、再び「myapp」に戻ります。それは働いた...日食のバグのいくつかのkinf?
私の場合、Android Mavenプロジェクトを新しいワークスペースにインポートした後にこのエラーが表示され、SRCフォルダーはビルドパスに自動的に追加されませんでした。
プロジェクト/ビルドパス/ビルドパスの設定/ソースを右クリックし、ソースが欠落していないか確認します。
同じ問題が発生しました。アプリをアンインストールしてから再インストールすると、問題が解決しました。
同じ問題が発生しました。プロジェクトのクリーニングはうまくいきました。
プロジェクトを選択して、[プロジェクト]-> [クリーン]に移動します。