sdk怎么设计
sdk怎么设计
  • 发布:2019-04-17 16:31
  • 更新:2019-06-29 15:26
  • 阅读:1375

DownloadReceive 代码BUG

分类:5+ SDK

DownloadReceiver 里面的PACKAGE_ADDED是否可以注释掉.我们并没有使用到广告功能
这里面会导致一个问题,因为我们并没有在application 使用 DeviceInfo.init(this); 方法,导致这里面的上下文为空
而DownloadReceiver.onReceive 中接收到 android.intent.action.PACKAGE_ADDED 会使用DeviceInfo存放的上下文取进行操作导致空指针异常~
我们现在想通过反编译直接注释掉这段代码.不知道会不会有什么其他影响~

2019-04-17 16:31 负责人:无 分享
已邀请:
sdk怎么设计

sdk怎么设计 (作者) -

简单的说 你们注册了 安装应用的 广播 但是我们根本就没有去初始化 dcloud,而你们又不适应 广播里面带有上下文去读取sp,非要用DeviceInfo这里面上下文去读取.所以就崩了~

DCloud_Android_ST

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

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

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)

该问题目前已经被锁定, 无法添加新回复