同时集成 tencent_calls_uikit 和 tencent_trtc_cloud,或同时集成 tencent_calls_uikit 和 live_flutter_plugin,出现符号冲突报错,怎么解决?
问题详情:当引入 flutter ''tencent_calls_uikit'' 进我们现有的 project 后,Android 构建 APK 时出现如下报错:
Duplicate class com.tencent.liteav.LiveSettingJni found in modules jetified-LiteAVSDK_Professional-10.7.0.13053-runtime(com.tencent.liteav:LiteAVSDK_Professional:10.7.0.13053) and jetified-LiteAVSDK_TRTC-10.3.0.11225-runtime(com.tencent.liteav:LiteAVSDK_TRTC:10.3.0.11225)
iOS 在执行
pod install
出现如下报错:[!] The 'Pods-Runner' target has frameworks with conflicting names: txsoundtouch.xcframework and txffmpeg.xcframework.
这个问题原因是您使用的 tencent_calls_uikit 和 tencent_trtc_cloud 分别依赖于 TRTC Android SDK 的专业版和精简版,这个问题我们已经在最新的版本中解决,只需要您将 tencent_calls_uikit 和 tencent_trtc_cloud升级到最新版本即可。
Flutter Android 未添加混淆设置
如果您需要编译运行在 Android 平台,由于我们在 SDK 内部使用了Java 的反射特性,需要将 SDK 中的部分类加入不混淆名单,因此需要您在 proguard-rules.pro 文件中添加如下代码:
-keep class com.tencent.** { *; }
从1.8.0以下的版本升级到1.8.0及以上的版本,导致编译报错或者拉不起页面问题修复?
如果是从1.8.0以下升级到1.8.0及以上的版本需要您检查以下几个步骤是否正常。
1. 将 navigatorObservers 添加到 MateriaApp。 目的是在收到呼叫邀请时导航到 TUICallKit 页面。示例代码如下:
import 'package:tencent_calls_uikit/tuicall_kit.dart';MaterialApp(navigatorObservers:[TUICallKit.navigatorObserver],...)
2. tencent_calls_engine 插件中的导入文件统一替换为新的
import 'package:tencent_calls_engine/tuicall_engine.dart';import 'package:tencent_calls_engine/tuicall_observer.dart';import 'package:tencent_calls_engine/tuicall_define.dart';
替换为:
import 'package:tencent_calls_engine/tencent_calls_engine.dart';
3. 登录 API调整更规范,不需要再指定参数。
4. 离线推送参数构造优化