RuntimeException:アプリケーションをインスタンス化できません


97

アプリケーションを実行すると、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

注:エミュレータからアプリをアンインストールして実行すると、この例外は発生しませんが、インストールしたアプリケーションをエミュレータで再実行すると、この例外が発生します。助けてください。


1
パッケージがandroid.app.Applicationの場合は、パッケージ名を変更してみてください。ちょっと怪しいようですが、システムのパッケージのように見えます。
そのない空白の

また、アプリがマニフェストで宣言されていることを確認してください。
dcow

Caused by:java.lang.NullPointerException行を展開します。さらに下の方にあるアプリケーションの行への参照があるはずです
Zaid Daghestani '14 / 04/12

いいえ、私のアプリケーションで言及したようなパッケージはありません。アプリはマニフェストで次のように宣言されています <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

アプリを実行しているAndroidのバージョンは4.0ですか?
ヨーク2012

回答:


194

これは、dalvikが.apkファイルを再インストールし、同じパッケージから以前に開いたアクティビティ/ビューを再利用またはリサイクルしようとしたときに、基盤となるフレームワークによって生成される詳細なエラーメッセージです(以前にインストールしたアプリをまだ閉じていない場合)。アプリとは何の関係もありません。さらに、エンドユーザーのデバイスに表示されるこの詳細なエラーメッセージが原因でアプリがフリーズまたはクラッシュする可能性はほとんどありません。

このdalvikの詳細なエラーログはAndroid 4.0システムでのみ発生したようです。私はAndroid 3.2および2.3.3の実行環境で自分でテストしましたが、どちらにもこのメッセージを表示するために複製することはできません。同様の質問が以前ここで議論されており、誰かがAndroid Issues Trackerのバグレポートを記入しています。

現時点では、この詳細なエラーログについてあまり気にする必要はないと思います。Logcatでこの赤いエラーの前後にさらにログを見ると、完全なストーリーを見ることができ、以前に開いたアクティビティ/ビュー(これは死んだ状態としてマークされている)が殺され、新しく再インストールされたものが最終的にポップされます。


2
こんにちは、その例外のために私のアプリがクラッシュしたりフリーズしたりすることはありません。例外がスローされた後でも正常に機能します。私はlogcatで例外を見つけただけで、それを認識していなかったため、同じことを要求することを考えました。情報をありがとう、非常に便利なもの。
user182944

3
本番アプリケーションの開発者コンソールでこれを取得しています。これは主に4.2で発生するようですが、他のバージョン(4.1、4.4)も見ました。
ダスティン

3
@ダスティン、これを解決しましたか?この例外が報告するのは最大で週34回です。そして、ユーザーメッセージにたくさんの不満があります!
thecr0w 2014

1
Android 5.1.1ではまだローカルで取得しています。
サム

1
5.1.1でも発生します。何が起こっている?
Android開発者

16

私はそれが非常に古い質問であることを理解していますが、これはとにかく役立つかもしれません。私自身の開発でこのエラーを確認すると、たとえば、終了する前にバックグラウンドスレッドをシャットダウンするなどして、以前に実行していたアプリのインスタンスが適切に終了しないことが原因であることがわかりました。


はい、私の電話のホームボタンを押してからもう一度実行すると、このエラーも解消されます。
アグレッサー

理にかなっていますが、アプリがユーザーの前で開いているときに、Androidがそれを強制終了してアップグレードする場合、アプリをどのようにして適切に閉じることができますか?
Sam

おそらくAndroidはそのシナリオでonDestroy()メソッドを呼び出します。人はそう願っています。
JulianSymes 2015

2

アプリケーションクラス内でJSOUPを使用してインターネットに接続しようとすると、同じエラーが発生します。アプリケーションはエミュレーターで実行されますが、実際のデバイスでは実行されないため、注意が必要でした。JSOUPライブラリを間違って使用したことが判明しました。新しいスレッドでページをロードすると 、問題が解決しました。

私が誰かを助けたことを願っています。


2

これが誰かを助けることを願っています。これをクリックして、エミュレータで実行中のアプリに移動します。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

インストールしようとしているアプリを閉じて、もう一度実行します。アプリをアンインストール/再インストールしたり、プロジェクトをクリーンアップしたりする必要はありません。


1

私にとっては、プロジェクトをきれいにするのに役立ちました。Eclipseの場合:
-プロジェクト->クリーン
そのプロジェクトを制御してください-> [自動ビルド]がチェックさ
れているgen-Folderが空の場合、res-folderに誤りがあります。多くの場合、res-folderの間違いは赤い十字で示されません!幸運とご挨拶


助けになりませんでした。を使用adbして本番APKから別のAPKにアップグレードすると、この問題が発生するため、私の場合はIDEに固有の問題ではないようです。
Sam

0

私の場合、Android Mavenプロジェクトを新しいワークスペースにインポートした後にこのエラーが表示され、ビルドパスにSRCフォルダーが自動的に追加されませんでした。

プロジェクトを右クリック/ビルドパス/ビルドパスを構成/ソース-ソースが不足していないかどうかを確認します。


0

同じ問題が発生しました。プロジェクトの掃除は私にとってはうまくいきました。

プロジェクトを選択して、プロジェクト->クリーンに移動します


助けになりませんでした。を使用adbして本番APKから別のAPKにアップグレードすると、この問題が発生するため、私の場合はIDEに固有の問題ではないようです。
Sam

0

私の場合、logcatは最初のアクティビティを見つけられなかったと表示しますが、Dexパスが異なり、「... / data / app / myapp」ではなく「... / data / app / myapp-1」でした。 。私はこれをパッケージエクスプローラウィンドウで「myapp」というエリプセプロジェクト名をクリックして解決しました。次に、それを右クリックして、-> refactor-> rename ...プロジェクト名をmyapp-1に設定し、次に-> refactor-> rename ...にして、再び「myapp」に戻します。その後、それはうまくいきました...日食のバグのいくつかのキンフ?


0

同じ問題が発生しました。アプリをアンインストールしてから再インストールすると問題が解決しました。


0

別のマシンからビルドされたプロジェクトをインポートしたときに、これを経験しました。キャッシュを無効にして再起動するだけです

ファイル>キャッシュの無効化/再起動>無効化して再起動


0

(Module:app)build.gradleファイルでapplicationIdを別のものに変更し、デバイスでアプリを再度実行しました。次に、変更を元に戻し、アプリを再度実行すると、すべてが機能します。Android Studio 2.3.1と、ここにある5.0から7.0までの4つのデバイスで動作します。


0

私はこの質問に会います。使用するとgradle cleangradle 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

0

簡単な解決策:

エミュレータまたはモバイルデバイスを再起動するだけです。そして問題はなくなりました!この問題の理由は、以前のアプリアクティビティが誤って停止されたことが原因でした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.