Other

项目介绍

iqiyi/Qigsaw 是一个托管在 GitHub 上的开源项目,主要使用 Java 编写,采用 Other 许可证,目前获得 1.7k 个 Star、271 次 Fork。

仓库全名
iqiyi/Qigsaw
开源许可证
Other
Star 数
1.7k
Fork 数
271
未关闭 Issue
36

README 摘要

Qigsaw 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. README 中文版 Getting started Import qigsaw-gradle-plugin as a dependency in your main build.gradle in the root of your project: Then "apply" the plugin and import dependencies by adding the following lines to your app/build.gradle. At Last, "apply"…

完整内容见 GitHub 原始 README 或本页 。

常见问题

Qigsaw 用什么语言开发?

主要使用 Java 编写,采用 Other 许可证,目前有 1.7k 个 Star。

Qigsaw 可以免费商用吗?

仓库标注的许可证为 Other,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 Qigsaw 的源码?

可以直接克隆仓库:git clone https://github.com/iqiyi/Qigsaw.git,默认分支为 master;安装与运行步骤见仓库 README。

Qigsaw 最近还在维护吗?

仓库最近一次更新为 2023年10月25日,当前有 36 个未关闭 Issue;Star 数为 1.7k,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

🔥🔥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.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
2292
价值分
1103
活跃状态
活跃

语言占比

AIDL
C
CMake
Groovy
Java

README

Qigsaw

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.

README 中文版

qigsaw

Getting started

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.

Known Issues

There are some issues which Qigsaw can’t update or support at present.

  1. Can’t update split AndroidManifest.xml dynamically, for example adding Android Component.
  2. Can’t update base APK dynamically.
  3. Doesn’t support Android OS version lower than 4.0.
  4. Doesn’t support incremental update for split APK.
  5. Learn more from the Known issues about Android App Bundle.

Extensive Functions

Qigsaw supports some functions which Android App Bundle doesn’t yet.

  1. Supports to declare Application in split AndroidManifest. Qigsaw will invoke Applicaton#attachBaseContext and Applicaton#onCreate methods for split application.
  2. Supports to declare ContentProvider in split AndroidManifest.

Support

  1. Learn more from qigsaw-sample-android.
  2. Study the source code.
  3. Check wiki or FAQ for help.
  4. Contact us [email protected].
  5. Join QQ group chat.

qigsaw_qq_group_chat

Contributing

For more information about contributing, issues or pull requests, please check our Qigsaw Contributing Guide.

License

Qigsaw is MIT licensed. Read the LICENSE file for detail.

评论

暂无评论