uni-app 小程序 Android SDK 3.2.16 版本报 Bug
uni-app 小程序 Android SDK 3.2.16 版本报 Bug
示例代码:
DCUniMPSDK.getInstance().initialize(this, DCSDKInitConfig.Builder().build())
操作步骤:
DCUniMPSDK.getInstance().initialize(this, DCSDKInitConfig.Builder().build())
预期结果:
不崩溃
实际结果:
必崩溃
bug描述:
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void io.dcloud.feature.sdk.Interface.IDCUniMPPreInitCallback.onInitFinished(boolean)' on a null object reference
at io.dcloud.feature.unimp.c.a(SourceFile:23)
at io.dcloud.feature.sdk.DCUniMPSDK.initialize(SourceFile:2)

| 信息 | 描述 |
|---|---|
| 产品分类 | uni小程序SDK |
| 手机系统 | Android |
| 手机系统版本号 | Android 11 |
| 手机厂商 | vivo |
| 手机机型 | 随意 |
| 页面类型 | vue |
| SDK版本号 | 3.2.16 |
更多关于uni-app 小程序 Android SDK 3.2.16 版本报 Bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
收到。 我看看
更多关于uni-app 小程序 Android SDK 3.2.16 版本报 Bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
bug 已确认,稍后版本会修复
3.3.8版本已修复该问题
求 Android SDK 3.2.16 版本 感谢~ 1114323924@qq.com
这是一个典型的初始化回调空指针异常。从堆栈信息看,问题出现在 IDCUniMPPreInitCallback.onInitFinished 被调用时,回调对象为 null。
问题分析:
在 DCUniMPSDK.getInstance().initialize() 的初始化流程中,SDK 内部会在某个阶段尝试通过 IDCUniMPPreInitCallback 接口回调通知初始化完成状态。但在你的调用代码中,DCSDKInitConfig.Builder().build() 构建的配置里,没有设置预初始化回调监听器,导致 SDK 内部持有的回调对象为 null。当 SDK 尝试调用 onInitFinished 方法时,就触发了 NullPointerException。
解决方案:
你需要为 DCSDKInitConfig 配置一个有效的预初始化回调。修改你的初始化代码:
val config = DCSDKInitConfig.Builder()
.setUniMPPreInitCallback(object : IDCUniMPPreInitCallback {
override fun onInitFinished(success: Boolean) {
// 在这里处理初始化完成后的逻辑
Log.d("UniMPSDK", "初始化完成,状态: $success")
}
})
.build()
DCUniMPSDK.getInstance().initialize(this, config)

