Qigsaw 是一个基于 Android App Bundles 的动态模块化库。它支持动态交付拆分 APK,而无需重新安装基础 APK。
自述文件中文版
将 qigsaw-gradle-plugin 作为依赖项导入到项目根目录下的主 bu build.gradle
中:
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 仅提供一个接口 Downloader,您需要实现它。从示例 SampleDownloader 中了解更多信息。
Qigsaw-gradle-plugin 会上传需要在编译过程中动态交付的拆分 APK,因此您必须实现 SplitApkUploader 将拆分 APK 上传到您自己的 CND 服务器。从示例 SampleSplitApkUploader 中了解更多信息。
如何安装Qigsaw?从示例 QigsawApplication 中了解更多信息。
对于 proguard,我们已经通过 qigsaw-gradle-plugin 自动进行了 proguard 配置。
对于 multiDex,请从示例 multidexkeep.pro 了解更多信息。
有关更多 qigsaw 配置,请从示例 app/build.gradle 中了解更多信息。
如何安装拆分APK? Qigsaw 提供了与 Play Core Library 相同的 API,因此您可以阅读 google 开发人员文档来安装。
如何构建基础APK和拆分APK?在开发过程中,您可以使用qigsawAssembleDebug
任务或只需单击Android Studio中的Run
app来构建。发布应用程序时,使用qigsawAssembleRelease
任务来构建。
如何更新分割?请参阅我们的拆分更新指南。
Qigsaw 目前无法更新或支持某些问题。
Qigsaw 支持 Android App Bundle 尚不支持的一些功能。
Applicaton#attachBaseContext
和Applicaton#onCreate
方法来拆分应用程序。有关贡献、问题或拉取请求的更多信息,请查看我们的 Qigsaw 贡献指南。
Qigsaw 已获得麻省理工学院许可。阅读许可证文件了解详细信息。