我不知道我这个上报的异常和本篇有没有关系,但是报了好多啊,在腾讯Bugly上,一个月都报了27万次,影响用户2万多。可能没有界面表现,不然早都有客户向我们反馈了,但这个能否规避掉?
java.lang.RuntimeException:Unable to start receiver io.dcloud.common.adapter.io.DownloadReceiver: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)' on a null object reference
2 android.app.ActivityThread.handleReceiver(ActivityThread.java:3462)
3 ......
4 Caused by:
5 java.lang.NullPointerException:Attempt to invoke virtual method 'android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)' on a null object reference
6 io.dcloud.common.adapter.util.SP.getOrCreateBundle(SP.java:131)
7 io.dcloud.common.adapter.util.SP.getOrCreateBundle(SP.java:146)
8 io.dcloud.common.util.ADUtils.removeInstallApkData(ADUtils.java:525)
9 io.dcloud.common.adapter.io.DownloadReceiver.onReceive(DownloadReceiver.java:30)
10 android.app.ActivityThread.handleReceiver(ActivityThread.java:3448)
11 android.app.ActivityThread.-wrap18(ActivityThread.java)
12 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
13 android.os.Handler.dispatchMessage(Handler.java:110)
14 android.os.Looper.loop(Looper.java:232)
15 android.app.ActivityThread.main(ActivityThread.java:6910)
16 java.lang.reflect.Method.invoke(Native Method)
17 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1103)
18 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
4 个回复
sdk怎么设计 (作者) - 滚
简单的说 你们注册了 安装应用的 广播 但是我们根本就没有去初始化 dcloud,而你们又不适应 广播里面带有上下文去读取sp,非要用DeviceInfo这里面上下文去读取.所以就崩了~
DCloud_Android_ST
这个问题不是BUG。SDK中模块初始化函数你都不执行怎么能正常运行SDK中的业务逻辑呢。请不要对离线SDK过多的修改。每个模块的业务逻辑都有自己的规则。修改出了问题就说是BUG。这可不是源码哦!!如果SDK无法满足你的需求建议自己写原生代码来实现你要的功能。
sdk怎么设计 (作者)
作为SDK 设计你无法控制我什么时候去初始化你的SDK 在我未初始化你的SDK 的时候你去监听系统的事件导致的崩溃这就是你们问题~
2019-04-18 17:40
sdk怎么设计 (作者)
并且你们官方文档毛都没写 让我们在什么时候初始化~
2019-04-18 17:42
DCloud_Android_ST
回复 sdk怎么设计:这个问题没必要较真。如果你不知道现在告诉你了哦。使用5+SDK需要使用DCloudApplication,也可继承DCloudApplication。重写onCreate实现自己的初始化逻辑。
2019-04-18 17:52
DCloud_Android_ST
使用5+SDK需要使用DCloudApplication,也可继承DCloudApplication。重写onCreate实现自己的初始化逻辑。
sdk怎么设计 (作者)
http://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/80 在那?
2019-04-18 17:54
EdCXy - Android开发
我不知道我这个上报的异常和本篇有没有关系,但是报了好多啊,在腾讯Bugly上,一个月都报了27万次,影响用户2万多。可能没有界面表现,不然早都有客户向我们反馈了,但这个能否规避掉?
java.lang.RuntimeException:Unable to start receiver io.dcloud.common.adapter.io.DownloadReceiver: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)' on a null object reference
2 android.app.ActivityThread.handleReceiver(ActivityThread.java:3462)
3 ......
4 Caused by:
5 java.lang.NullPointerException:Attempt to invoke virtual method 'android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)' on a null object reference
6 io.dcloud.common.adapter.util.SP.getOrCreateBundle(SP.java:131)
7 io.dcloud.common.adapter.util.SP.getOrCreateBundle(SP.java:146)
8 io.dcloud.common.util.ADUtils.removeInstallApkData(ADUtils.java:525)
9 io.dcloud.common.adapter.io.DownloadReceiver.onReceive(DownloadReceiver.java:30)
10 android.app.ActivityThread.handleReceiver(ActivityThread.java:3448)
11 android.app.ActivityThread.-wrap18(ActivityThread.java)
12 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
13 android.os.Handler.dispatchMessage(Handler.java:110)
14 android.os.Looper.loop(Looper.java:232)
15 android.app.ActivityThread.main(ActivityThread.java:6910)
16 java.lang.reflect.Method.invoke(Native Method)
17 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1103)
18 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
DCloud_Android_ST
建议你新建一个ASK 然后邀请我回答
2019-06-29 16:30