🔥🔥Qigsaw ['tʃɪɡsɔ] is a dynamic modularization library which is based on Android App Bundles(Do not need Google Play Service). It supports dynamic delivery for split APKs without reinstalling the base one.
Java
1,698
287 commits
updated Oct 25, 2023
Qigsaw is a dynamic modularization library which is based on Android App Bundles. It supports dynamic delivery for split APK without reinstalling the base one.

Import qigsaw-gradle-plugin as a dependency in your main build.gradle in the root of your project:
buildscript {
dependencies {
classpath 'com.iqiyi.android.qigsaw:gradle-plugin:1.4.1-hotfix01'
}
}
Then "apply" the plugin and import dependencies by adding the following lines to your app/build.gradle.
dependencies {
//qigsaw core lib
implementation "com.iqiyi.android.qigsaw:splitcore:1.4.1-hotfix01"
}
...
...
apply plugin: 'com.iqiyi.qigsaw.application'
At Last, "apply" another plugin by adding the following lines to your dynamicfeature/build.gradle.
...
...
apply plugin: 'com.iqiyi.qigsaw.dynamicfeature'
Considering that every app has its own downloader, qigsaw just provides an interface Downloader and you are expected to implement it. Learn more from the sample SampleDownloader.
Qigsaw-gradle-plugin will upload split APKs which require dynamic delivery during compilation, so you have to implement SplitApkUploader to upload split APKs to your own CND server. Learn more from the sample SampleSplitApkUploader.
How to install qigsaw? Learn more from the sample QigsawApplication.
For proguard, we have already made the proguard config automatically via qigsaw-gradle-plugin.
For multiDex, learn more from the sample multidexkeep.pro.
For more qigsaw configurations, learn more from the sample app/build.gradle.
How to install split APKs? Qigsaw provides the same APIs to Play Core Library, so you may read google developer docs to install.
How to build base and split APKs? During development, you may use qigsawAssembleDebug task or just click Run app in Android Studio to build. When releasing your app, use qigsawAssembleRelease task to build.
How to update splits? Please see our Split Update Guide.
There are some issues which Qigsaw can't update or support at present.
Qigsaw supports some functions which Android App Bundle doesn't yet.
Applicaton#attachBaseContext and Applicaton#onCreate methods for split application.
For more information about contributing, issues or pull requests, please check our Qigsaw Contributing Guide.
Qigsaw is MIT licensed. Read the LICENSE file for detail.
1,253 followers · starred Jul 2019
671 followers · starred Jun 2019
14 followers · starred Jul 2021
53 followers · starred Mar 2021
🔥🔥Qigsaw ['tʃɪɡsɔ] is a dynamic modularization library which is based on Android App Bundles(Do not need Google Play Service). It supports dynamic delivery for split APKs without reinstalling the base one.
Java
1,698
287 commits
updated Oct 25, 2023
Qigsaw is a dynamic modularization library which is based on Android App Bundles. It supports dynamic delivery for split APK without reinstalling the base one.

Import qigsaw-gradle-plugin as a dependency in your main build.gradle in the root of your project:
buildscript {
dependencies {
classpath 'com.iqiyi.android.qigsaw:gradle-plugin:1.4.1-hotfix01'
}
}
Then "apply" the plugin and import dependencies by adding the following lines to your app/build.gradle.
dependencies {
//qigsaw core lib
implementation "com.iqiyi.android.qigsaw:splitcore:1.4.1-hotfix01"
}
...
...
apply plugin: 'com.iqiyi.qigsaw.application'
At Last, "apply" another plugin by adding the following lines to your dynamicfeature/build.gradle.
...
...
apply plugin: 'com.iqiyi.qigsaw.dynamicfeature'
Considering that every app has its own downloader, qigsaw just provides an interface Downloader and you are expected to implement it. Learn more from the sample SampleDownloader.
Qigsaw-gradle-plugin will upload split APKs which require dynamic delivery during compilation, so you have to implement SplitApkUploader to upload split APKs to your own CND server. Learn more from the sample SampleSplitApkUploader.
How to install qigsaw? Learn more from the sample QigsawApplication.
For proguard, we have already made the proguard config automatically via qigsaw-gradle-plugin.
For multiDex, learn more from the sample multidexkeep.pro.
For more qigsaw configurations, learn more from the sample app/build.gradle.
How to install split APKs? Qigsaw provides the same APIs to Play Core Library, so you may read google developer docs to install.
How to build base and split APKs? During development, you may use qigsawAssembleDebug task or just click Run app in Android Studio to build. When releasing your app, use qigsawAssembleRelease task to build.
How to update splits? Please see our Split Update Guide.
There are some issues which Qigsaw can't update or support at present.
Qigsaw supports some functions which Android App Bundle doesn't yet.
Applicaton#attachBaseContext and Applicaton#onCreate methods for split application.
For more information about contributing, issues or pull requests, please check our Qigsaw Contributing Guide.
Qigsaw is MIT licensed. Read the LICENSE file for detail.
1,253 followers · starred Jul 2019
671 followers · starred Jun 2019
14 followers · starred Jul 2021
53 followers · starred Mar 2021