愛奇藝自主研發(fā)的動(dòng)態(tài)化框架!
軟件簡介
Qigsaw 是愛奇藝自主研發(fā)的動(dòng)態(tài)化框架,其核心優(yōu)勢如下:
利用 Android App Bundle 開發(fā)套件,極速開發(fā)體驗(yàn)。
支持 Android App Bundle 所有功能特性,“山寨”Play Core Library 公開接口實(shí)現(xiàn),開發(fā)者閱讀官方文檔即可愉快開發(fā)。
任何進(jìn)程均可動(dòng)態(tài)加載插件,支持 Android 四大組件動(dòng)態(tài)加載。
如果應(yīng)用有出海需求,可無縫切換至 Android App Bundle 方案。
僅一處 Hook,少量私有 API 訪問,保證框架穩(wěn)定性。

開始
在你項(xiàng)目根目錄下的build.gradle文件中增加qigsaw-gradle-plugin作為依賴。
buildscript?{
????dependencies?{
????????classpath?'com.iqiyi.android.qigsaw:gradle-plugin:1.4.1-hotfix01'
????}
}
接著在app/build.gradle文件中應(yīng)用如下所示插件和依賴。
dependencies?{
????//qigsaw?core?lib
????implementation?"com.iqiyi.android.qigsaw:splitcore:1.4.1-hotfix01"
}
...
...
apply?plugin:?'com.iqiyi.qigsaw.application'
最后在dynamicfeature/build.gradle文件中應(yīng)用如下所示插件。
apply?plugin:?'com.iqiyi.qigsaw.dynamicfeature'
考慮到每個(gè)應(yīng)用程序都有自己的下載器,qigsaw只提供下載接口,交由接入方實(shí)現(xiàn)。從SampleDownloader示例中了解更多信息。
Qigsaw-gradle-plugin會(huì)在編譯期間上傳需要?jiǎng)討B(tài)加載的split APK,因此您必須實(shí)現(xiàn)SplitApkUploader才能將split APK上傳到您的CDN服務(wù)器。從SampleSplitApkUploader示例中了解更多信息。
如何安裝qigsaw?從QigsawApplication示例中了解更多信息。
關(guān)于proguard,我們通過qigsaw-gradle-plugin自動(dòng)生成proguard配置。
關(guān)于multiDex,從示例multidexkeep.pro中了解更多信息。
有關(guān)更多qigsaw配置,從示例app/build.gradle中了解更多信息。
如何安裝split APK?Qigsaw提供了與Play Core Library相同的API ,因此您可以參閱Google開發(fā)者文檔來進(jìn)行安裝。
如何構(gòu)建base APK和split APK?在開發(fā)過程中,您可以運(yùn)行qigsawAssembleDebugtask或者直接點(diǎn)擊Android Studio的Run按鈕進(jìn)行構(gòu)建。發(fā)布時(shí),使用qigsawAssembleReleasetask構(gòu)建。
Qigsaw支持插件熱修復(fù),具體操作可以參考更新指南Qigsaw插件更新指南。
項(xiàng)目地址
開源地址:https://gitee.com/mirrors/Qigsaw
