java.lang.RuntimeException: Unable to create application * : java.lang.NullPoint

_JerryChen 2013-12-09 11:19:47
项目在google play上被报了一个错误,日志如下:

java.lang.RuntimeException: Unable to create application com.mdtv.phware.MyAPP: java.lang.NullPointerException
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3288)
at android.app.ActivityThread.access$2200(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:980)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3735)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:662)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.mdtv.phware.MTEngine.initConstant(MTEngine.java:792)
at com.mdtv.phware.MTEngine.initialize(MTEngine.java:759)
at com.mdtv.phware.MyAPP.onCreate(MyAPP.java:23)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3285)
... 10 more


追了下代码,空指针对应的代码是:




从代码来看,应该是getFilesDir返回了null。为什么这个会返回null,求解释。

另外,这个项目是运行在android2.3以下(包括2.3)的设备上的。
...全文
1443 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
_JerryChen 2013-12-10
  • 打赏
  • 举报
回复
引用 6 楼 ncepu307 的回复:
你这个应用是安装到了sd卡中吗? 如果是的话,那很有可能就是这个原因,sd没有挂载
不知道客户那边是不是装SD卡上的,报错是通过google play返回的。配置文件里安装位置选项是auto。 这个问题比较麻烦,我们这里看不到现象,很难判断。 另一方面,这个应用只适配android2.3系统,2.3的设备大都比较老旧,内置存储相对都比较小,很有可能用户的apk是装在外置SD上的。 这些都只是猜测而已。
依然绿茶 2013-12-10
  • 打赏
  • 举报
回复
你这个应用是安装到了sd卡中吗? 如果是的话,那很有可能就是这个原因,sd没有挂载
依然绿茶 2013-12-09
  • 打赏
  • 举报
回复
initConstant(Context c) 你传一个Activity对象进去,不要单纯的Context。
_JerryChen 2013-12-09
  • 打赏
  • 举报
回复
查了下android2.3的源码解释,getFilesDir有可能会返回null

_JerryChen 2013-12-09
  • 打赏
  • 举报
回复
引用 4 楼 ncepu307 的回复:
[quote=引用 3 楼 u011993617 的回复:] [quote=引用 2 楼 ncepu307 的回复:] initConstant(Context c) 你传一个Activity对象进去,不要单纯的Context。
这里传的Context是Application[/quote] 传个Acitivty对象进去试试[/quote] 你遇到过这个问题? 这个问题在我们这里没办法复现,之前我们在android2.3设备上测试没出现过这个问题。android2.3以下的设备没测过(没有2.3以下的设备),不知道是不是2.3以下的设备上报出来的。 源码中对getFilesDirs方法的描述中提到,如果sd没有挂载,这个方法会返回null,我在想是不是这个原因。 你有何想法?
依然绿茶 2013-12-09
  • 打赏
  • 举报
回复
引用 3 楼 u011993617 的回复:
[quote=引用 2 楼 ncepu307 的回复:] initConstant(Context c) 你传一个Activity对象进去,不要单纯的Context。
这里传的Context是Application[/quote] 传个Acitivty对象进去试试
_JerryChen 2013-12-09
  • 打赏
  • 举报
回复
引用 2 楼 ncepu307 的回复:
initConstant(Context c) 你传一个Activity对象进去,不要单纯的Context。
这里传的Context是Application

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧