Tencent Shadow是一个腾讯自主研发的Android插件框架。2019年开源后不断有公司内外业务接入使用。Shadow发布平台为了改进Shadow的DevOps过程,将会提供如下服务:
Android平台的插件化技术,本质上来说是一种“动态库”技术。类似于传统so、dll库的动态加载,将Android组件库动态加载到App中。因此传统动态库的适用理由也适用于Android插件化技术。插件化的代码有更好的独立性,可以独立编译,独立运行和测试。由编译带来的强解耦边界也使得代码不易日渐耦合,有利于项目健康。
动态发布新特性是插件化技术的主要用途。对于快速迭代的业务来说,该技术可以避免用户反复安装新版本App。也可以使新特性快速触达更多用户。
动态修复Bug一直是快速迭代开发的强需求。插件化技术可以快速发布修复版本。尽管其修复速度不如基于运行时的热补丁技术,但插件化技术具有更好的兼容性,不必像热补丁技术一样需要兼容各种各样的机型和被修复代码。考虑到Bug并不是真的总需要瞬间修复,采用插件化技术修复代码是一种高性价比的选择。
更多关于Shadow的文档请参考:https://github.com/Tencent/Shadow/wiki
demo-plugin-runtime,demo-plugin-loader,demo-plugin-manager。plugin-app模块的build.gradle文件中的配置。
然后执行:plugin-app:packageDebugPlugin任务构建出插件包build/plugin-debug.zip.demo-plugin-manager中的
downloadPlugin方法中配置的资源标识,再将构建好的demo-plugin-manager-debug.apk也上传到Shiply平台。

raft-shadow-host依赖,并参考host-app中的代码,初始化SDK,
配置manager在Shiply平台的相关信息。 创建Shiply项目和产品参考 https://shiply.tds.qq.com/document/getting-started-guide/integration-process/ 。创建和发布Shiply资源任务参考 https://shiply.tds.qq.com/document/remote-resource/quick-start/ 。:demo-plugin-manager:assemble任务,将demo-plugin-manager/build/outputs/apk/debug/demo-plugin-manager-debug.apk复制到host-app/src/main/assets/pm/;:plugin-app:packageDebugPlugin任务,将build/plugin-debug.zip复制到host-app/src/main/assets/plg/;