1.RTC业务
RTC是声网的直播SDK,但是体积太大了,将so设置只支持v8a 也有30 多MB。官方提供了方案,可以按需求删除一些 extension 的so。需要改为手动依赖 SDK,记得保存下手动的版本号,方便之后对比。
没有找到移除第三方库的so方法,只能改为手动依赖
2.官方的参考资料
如何减少集成 v4.x SDK 后的 app 体积?
如何减少集成 RTC Native SDK 的 app 体积?
减少 App 体积
3.部分so说明
基于 4.1.0 版本
//主播端用的用于增强采集的视频
libagora_clear_vision_extension.so
//设置远端主播的空间音效
libagora_spatial_audio_extension.so
//视频截图上传 4.1.0 版本没有了
libagora_ci_extension.so
//虚拟背景功能支持你使用自定义的背景图替代本地用户原来的背景图或者将背景虚化处理。成功开启虚拟背景功能后,频道内所有用户都能看到自定义的背景。
libagora_segmentation_extension.so
//超级分辨率
libagora_super_resolution_extension.so
//视频截图上传到后台
libagora_content_inspect_extension.so
//屏幕共享
libagora_screen_capture_extension.so
//美声插件(优化人声,直播间场景不需要)
libagora_audio_beauty_extension
//降低噪音(观众端不需要)
libagora_ai_noise_suppression_extension.so ai
//消除回声(观众端不需要)
libagora_ai_echo_cancellation_extension.so
由于项目只需要观众端,所以优化了不少体积。
4.遇到问题
明明删除了 so 为何体积还增加了?
将 target 从21调整到23,导致默认 extractNativeLibs 属性变了
需要在 AndroidMainfest.xml 设置
<application
...
android:extractNativeLibs="true"/>