uni-app 小程序SDK加个推push SDK导致个推卓信SDK崩溃

发布于 1周前 作者 yuanlaile 来自 Uni-App

uni-app 小程序SDK加个推push SDK导致个推卓信SDK崩溃

操作步骤:

  • 使用uni小程序SDK集成个推·推送push SDK,后台长时间运行超过1天

预期结果:

  • 不报错

实际结果:

  • 主进程奔溃报错

bug描述:

  • 使用uni小程序SDK集成个推·推送push SDK,在后台运行超过1天至2天导致卓信SDK奔溃报错,单独集成uni小程序或者单独使用个推推送SDK均不会报错。
异常进程#线程  
com.xxxxxx.xx(2014)#ZX-Api-Thread(2313)  

使用时长  
7 小时 55  43   

前后台状态  
后台  

设备机型  
V2245A  
系统版本  
Android 13,level 33  
ROM  
vivo/FUNTOUCH  
CPU架构  
arm64-v8a  
# ZX-Api-Thread(2313)  
SIGABRT  

解析原始  
1  
#00 pc 0000000000053754 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) [arm64-v8a::f9c21d1d2aa3bf967b5bb504ba7fd764]  
2  
#01 pc 00000000004688a0 /apex/com.android.art/lib64/libart.so (art::JavaVMExt::AddGlobalRef(art::Thread*, art::ObjPtr<art::mirror::Object>)+672) [arm64-v8a::23a44aacd362d3397fa451a604daa51b]  
3  
#02 pc 000000000047a074 /apex/com.android.art/lib64/libart.so (art::JNI<false>::NewGlobalRef(_JNIEnv*, _jobject*)+660) [arm64-v8a::23a44aacd362d3397fa451a604daa51b]  
4  
#03 pc 000000000000cc0c /data/app/~~X9yGsy26E86c9bhvV9Zrvw==/com.yidont.foot.bath-OFfmk6NVtfvfnaM4ULcvEQ==/lib/arm64/libzxprotect.so [arm64-v8a::199c561a38c1f577687ec6cdff503c9b]  
5  
#04 pc 000000000000cc70 /data/app/~~X9yGsy26E86c9bhvV9Zrvw==/com.yidont.foot.bath-OFfmk6NVtfvfnaM4ULcvEQ==/lib/arm64/libzxprotect.so [arm64-v8a::199c561a38c1f577687ec6cdff503c9b]  
6  
#05 pc 000000000001f4d8 /data/app/~~X9yGsy26E86c9bhvV9Zrvw==/com.yidont.foot.bath-OFfmk6NVtfvfnaM4ULcvEQ==/lib/arm64/libzxprotect.so (Java_com_zx_a_I8b7_j_a__Ljava_lang_String_2Z+744) [arm64-v8a::199c561a38c1f577687ec6cdff503c9b]  
7  
#06 pc 00000000002546a4 /data/app/~~X9yGsy26E86c9bhvV9Zrvw==/com.yidont.foot.bath-OFfmk6NVtfvfnaM4ULcvEQ==/oat/arm64/base.odex [arm64-v8a::34612911bcb44d71be5364b7a52dd38f]

3 回复

在使用 uni-app 开发小程序时,如果集成了个推(Getui)的 Push SDK 后导致卓信 SDK 崩溃,可能是由于以下几个原因引起的。以下是一些排查和解决问题的步骤:


1. SDK 版本兼容性问题

  • 问题描述:个推 SDK 和卓信 SDK 可能存在版本不兼容的情况,导致冲突或崩溃。
  • 解决方案
    • 确保使用的个推 SDK 和卓信 SDK 是最新版本。
    • 检查个推和卓信官方文档,确认是否有已知的兼容性问题。
    • 如果问题仍然存在,尝试降级或升级其中一个 SDK 的版本。

2. SDK 初始化顺序问题

  • 问题描述:如果个推 SDK 和卓信 SDK 的初始化顺序不正确,可能会导致资源冲突或崩溃。
  • 解决方案
    • 确保在 App.vuemain.js 中正确初始化 SDK,按照官方文档推荐的顺序进行初始化。
    • 例如,先初始化卓信 SDK,再初始化个推 SDK,或者反之。

3. SDK 配置冲突

  • 问题描述:个推 SDK 和卓信 SDK 可能使用了相同的资源或配置项,导致冲突。
  • 解决方案
    • 检查两个 SDK 的配置文件(如 manifest.jsonapp.json),确保没有重复的配置项。
    • 如果存在冲突,尝试修改配置或联系 SDK 官方技术支持。

4. 内存或资源不足

  • 问题描述:小程序的内存或资源有限,同时集成多个 SDK 可能导致内存不足或崩溃。
  • 解决方案
    • 优化代码,减少不必要的资源占用。
    • 使用小程序开发者工具的性能分析工具,检查内存和资源使用情况。

5. SDK 冲突日志分析

  • 问题描述:崩溃可能是由于 SDK 内部的冲突或错误引起的。
  • 解决方案
    • 使用小程序开发者工具的日志功能,查看崩溃时的详细日志。
    • 根据日志信息,定位问题并联系个推或卓信的技术支持。

6. 测试环境问题

  • 问题描述:开发环境或测试环境的问题可能导致 SDK 崩溃。
  • 解决方案
    • 确保开发环境和测试环境的配置正确。
    • 尝试在真机上进行测试,排除模拟器或开发工具的问题。

7. 联系官方技术支持

  • 如果以上方法无法解决问题,建议联系个推和卓信的官方技术支持,提供详细的日志和复现步骤,以便他们协助排查问题。

示例代码(初始化顺序)

// App.vue
export default {
  onLaunch() {
    // 先初始化卓信 SDK
    initZhuoxinSDK();

    // 再初始化个推 SDK
    initGetuiSDK();
  }
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!