更新日志如下:
-
修复多ClassLoader模式,插件Application可能未初始化的问题。
-
插件多ABI支持,依据用户当前设备CPU架构及APK自身ABIs来加载对应插件ABI的Native Library。
-
依据项目工程NDK配置以及APK文件lib目录的ABI类型,来自动选择内置插件存放APK lib还是assets目录。内置插件存放APK lib目录可减少插件一次拷贝工作,节省用户磁盘空间。
-
Qigsaw Gradle Plugin 修复3.2~3.5兼容性bug。
-
调整Report相关接口,包括SplitLoadReporter、SplitInstallReporter等,提供更多插件信息供开发者投递。
-
SplitInstallReporter 和 SplitLoadReporter 失败通知,包含已加载或安装成功的插件数据。
-
应 Qigsaw 接入者需求,增加是否校验插件签名配置。详情参考 SplitConfiguration 中 verifySignature 配置。
Qigsaw 是国内首款且唯一一款基于 Android App Bundles 的 Android 插件化技术。Android App Bundles 是 Google 于 2018 年推出的一款 全新应用分发流程,可以在应用版本不更新的情况下,动态加载插件。由于 Android App Bundles 依托于 Google Play Service, 因此,在国内无法使用该技术。Qigsaw 核心功能是利于 Android App Bundle 开发工具及周边打包出 App 及插件,并自研一套 插件加载方案在应用运行期动态加载插件。
其核心优势如下:
- 完全利用 Android App Bundle 开发工具,让插件开发者享受极速开发体验。
- 如果有国际化需求,Qigsaw 可无缝切换至 Android App Bundles 方案。
- Qigsaw Core SDK 完全仿照 Android App Bundles 提供的公开 SDK 接口,开发者阅读官方文档即可开发。
- 超高稳定性,全局仅一处 Hook 和极少量私有 API 访问。
- 插件接入改造非常方便,对开发者相当友好,开发者无需关心插件的分发及上传,Qigsaw 提供一条龙服务。
Qigsaw 目前在爱奇艺 APP 矩阵中全面开花。爱奇艺 App 已接入插件数 8 个,包括百度小程序框架、爱奇艺小游戏框架、小视频、泡泡、弹幕等为爱奇艺 App 节省包体积 18.5 M之多。 爱奇艺极速版在其项目立项阶段就决定使用 Qigsaw 作为缩减包体积的重要手段,目前已用 Qigsaw 减少 7M 之多的包体积。 爱奇艺内部其他业务线包括好多视频、游戏中心、直播机等都已接入 Qigsaw。
Qigsaw 开源地址:github.com/iqiyi/Qigsa… 。 欢迎大家 Star 交流。