集成 TRTC SDK 后,文件增量有多大?
iOS 平台如何缩减安装包体积?
苹果 iPhone 5s 以上版本的手机都可以支持只打包 x64 架构,在 XCode 中的 Build Setting 里将 Build Active Architecture Only 设置为 YES,同时将 Valid Architectures 里只写 arm64 即可,TRTC SDK 的单架构 ipa 增量只有1.9M。
苹果 iPhone 5s 及以前版本的手机,如果项目中的所有第三方库都支持 BitCode,您可以通过开启 BitCode 来缩减安装包体积。在 Build Settings > Build Options 中将 Enable Bitcode 选项打开,即可开启 BitCode。
2016年开始,苹果在其 XCode 开发环境中开始支持 BitCode 编译选项,开启 BitCode 之后,编译器会对 App 生成中间代码而非实际的汇编机器码,用户从 App Store 下载安装的是针对具体手机 CPU 架构生成的机器码,所以该方式能够大幅减少安装包体积。Android 平台如何缩减安装包体积?
如果您的 App 只在中国大陆地区使用,可以只打包
armeabi-v7a
架构的 so 文件,从而将安装包增量压缩到5M以内。如果您的 App 希望上架 Google Play,可以打包 armeabi-v7a
和 arm64-v8a
两个架构的 so 文件。
具体操作方法:在当前项目的 build.gradle 里添加 abiFilters "armeabi-v7a"
指定打包单架构的 so 文件,或添加 abiFilters "armeabi-v7a","arm64-v8a"
指定打包双架构的 so 文件。如果只打包
armeabi-v7a
架构的 so 文件(即无需上架 Google Play):
如果打包
armeabi-v7a
和 arm64-v8a
两个架构的 so 文件(即上架到 Google Play):
注意
如果您的 App 希望上架 Google Play,请不要使用该方案,有可能会无法上架。
Android 版 SDK 的体积主要来自于 so 文件,如果您希望将安装包增量压缩到1M以内,可以考虑采用安装后再下载 so 的方式:
1. 在 Github 文件夹下,单击下载类似
LiteAVSDK_TRTC_x.x.xxx.zip
命名的压缩包,将其解压并找到指定架构的 so 文件。2. 上传上一步下载到的 so 文件,上传到您的服务器(或腾讯云 COS 对象存储服务)上,并记录下载地址,例如
http://xxx.com/so_files.zip
。3. 在用户启动 SDK 相关功能前,例如开始播放视频之前,先用 loading 动画提示用户“正在加载相关的功能模块”。
在用户等待过程中,App 就可以到
http://xxx.com/so_files.zip
下载 so 文件,并存入应用目录下(例如应用根目录下的 files 文件夹),为了确保这个过程不受运营商 DNS 劫持的影响,请在文件下载完成后校验 so 文件的完整性,防止 zip 压缩包被运营商篡改。4. 等待所有 so 文件就位后,调用
TXLiveBase
类(LiteAVSDK 最早的一个基础模块)中的 setLibraryPath()
接口,将下载 so 的目标路径设置到 SDK。SDK 会到这些路径下加载需要的 so 文件并启动相关功能。