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)

Image

信息 描述
产品分类 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

5 回复

收到。 我看看

更多关于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)
回到顶部