You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter集成腾讯云live_flutter_plugin,Release模式授权时崩溃求助

腾讯云live_flutter_plugin Release模式崩溃问题解决

针对你遇到的Debug模式正常、Release模式执行V2TXLivePremier.setLicence()时闪退(报错JNI DETECTED ERROR IN APPLICATION: java_class == null)的问题,可按以下步骤排查解决:

  • 配置Android混淆豁免规则
    Release模式下的代码混淆会破坏腾讯云SDK的JNI关联类,导致空指针错误。在android/app/proguard-rules.pro文件中添加以下规则:

    -keep class com.tencent.liteav.** { *; }
    -keep class com.tencent.rtmp.** { *; }
    -keep class com.tencent.qcloud.** { *; }
    -keep class com.tencent.live.** { *; }
    -dontwarn com.tencent.liteav.**
    -dontwarn com.tencent.rtmp.**
    -dontwarn com.tencent.qcloud.**
    -dontwarn com.tencent.live.**
    

    同时确保android/app/build.gradle的release配置中应用该规则:

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    
  • 验证License参数有效性
    确认Constant.licenseURL和Constant.licenseKey在Release模式下未被混淆或赋值为空。可在调用前临时添加日志/Toast验证参数完整性,确保是腾讯云提供的有效License信息。

  • 完善权限与初始化时机
    确保权限请求完全成功后再执行SDK初始化,避免因权限未获取导致的异常:

    void init() async {
      var statuses = await [Permission.microphone, Permission.camera].request();
      if (statuses[Permission.microphone] != PermissionStatus.granted || 
          statuses[Permission.camera] != PermissionStatus.granted) {
        // 处理权限拒绝逻辑,终止后续初始化
        return;
      }
      await V2TXLivePremier.setLicence(Constant.licenseURL, Constant.licenseKey);
      _livePusher = await V2TXLivePusher.create(V2TXLiveMode.v2TXLiveModeRTMP);
      _livePusher?.addListener(onPusherObserver);
    }
    
  • 升级SDK至最新版本
    检查当前live_flutter_plugin版本是否存在已知的Release模式JNI问题,尝试升级到官方最新版本,大概率已修复此类兼容性bug。

内容的提问来源于stack exchange,提问作者viswanath dmy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 18:02:06