启动应用程序时Android代码中的例外情况

sbe*_*zin 7 android exception

在Google Play开发者控制台的"Crashes and ANRs"中,我收到了这样的报告:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.AssetManager android.content.res.Resources.getAssets()' on a null object reference
at android.app.LoadedApk.getAssets(LoadedApk.java:590)
at android.app.LoadedApk.makeApplication(LoadedApk.java:646)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5088)
at android.app.ActivityThread.access$1600(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1509)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5944)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1389)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184)
Run Code Online (Sandbox Code Playgroud)

有这个问题的设备是Galaxy S4并运行Android 5.0

可能是什么 - 我的代码中没有一行,为什么会失败?

非常感谢!

Mat*_*ark 1

确保您在任何地方调用getAssets(),都将其称为:

getApplicationContext().getAssets()
Run Code Online (Sandbox Code Playgroud)

看起来好像您正在调用getAssets()一个没有可用应用程序上下文的类,因此它是空的。

  • 感谢您的建议,但我不会在任何地方调用 getAssets() 。顺便说一句 - 我的应用程序的资产文件夹是空的。 (2认同)