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
相关产品推荐
相关产品推荐

