爱奇艺自主研发的动态化框架!
软件简介
Qigsaw 是爱奇艺自主研发的动态化框架,其核心优势如下:
利用 Android App Bundle 开发套件,极速开发体验。
支持 Android App Bundle 所有功能特性,“山寨”Play Core Library 公开接口实现,开发者阅读官方文档即可愉快开发。
任何进程均可动态加载插件,支持 Android 四大组件动态加载。
如果应用有出海需求,可无缝切换至 Android App Bundle 方案。
仅一处 Hook,少量私有 API 访问,保证框架稳定性。
开始
在你项目根目录下的build.gradle
文件中增加qigsaw-gradle-plugin作为依赖。
buildscript {
dependencies {
classpath 'com.iqiyi.android.qigsaw:gradle-plugin:1.4.1-hotfix01'
}
}
接着在app/build.gradle
文件中应用如下所示插件和依赖。
dependencies {
//qigsaw core lib
implementation "com.iqiyi.android.qigsaw:splitcore:1.4.1-hotfix01"
}
...
...
apply plugin: 'com.iqiyi.qigsaw.application'
最后在dynamicfeature/build.gradle
文件中应用如下所示插件。
apply plugin: 'com.iqiyi.qigsaw.dynamicfeature'
考虑到每个应用程序都有自己的下载器,qigsaw只提供下载接口,交由接入方实现。从SampleDownloader示例中了解更多信息。
Qigsaw-gradle-plugin会在编译期间上传需要动态加载的split APK,因此您必须实现SplitApkUploader才能将split APK上传到您的CDN服务器。从SampleSplitApkUploader示例中了解更多信息。
如何安装qigsaw?从QigsawApplication示例中了解更多信息。
关于proguard,我们通过qigsaw-gradle-plugin自动生成proguard配置。
关于multiDex,从示例multidexkeep.pro中了解更多信息。
有关更多qigsaw配置,从示例app/build.gradle中了解更多信息。
如何安装split APK?Qigsaw提供了与Play Core Library相同的API ,因此您可以参阅Google开发者文档来进行安装。
如何构建base APK和split APK?在开发过程中,您可以运行qigsawAssembleDebug
task或者直接点击Android Studio的Run
按钮进行构建。发布时,使用qigsawAssembleRelease
task构建。
Qigsaw支持插件热修复,具体操作可以参考更新指南Qigsaw插件更新指南。
项目地址
开源地址:https://gitee.com/mirrors/Qigsaw