模块化/组件化/插件化/热修复
文章平均质量分 61
tz_1qu212
想要的自己拿去
展开
-
组件化的使用
编辑于2018-04-30一、组件化的优势自然是模块的复用。我是分成了三个部分,基础库,各个功能模块,壳模块。1、一个基础库对应一个壳模块,壳模块中至少需要用到基础库中的application类,其他如theme等也可写在基础库中,也许这些可以写在壳中,还请指教;基础库也会跟着功能模块的不同可能有所不同;最重要的是一些随着app包变化的常量也需要放在基础库中。2、壳模块中gradle的...原创 2018-04-30 12:48:44 · 2633 阅读 · 0 评论 -
热修复(Tinker的使用)
编辑于2018年9月12日直接开始热修复的话题。热修复是一种插件化的技术,当线上应用出现BUG时,无需发布新包让用户更新,而是通过补丁包让用户更新。具有及时修复BUG,用户无需下载新的应用从而达到无感知修复,提供用户体验的优点。Tinker是一款微信开源的热修复框架,下面就来使用它。第一步配置Tinker第二步,继承DefaultApplitionLike,并通过注...原创 2018-09-12 14:16:46 · 1325 阅读 · 3 评论 -
《深入探索Android热修复技术原理》读后感以及插件化思考
最近编辑于2019/02/17主要介绍了阿里Sophix方案。热修复的概念:AndroidManifest出现BUG是无法修复的,想增加四大组件,可通过预先在安装包的AndroidManifest里面埋入代理的组件,在每次新增组件时,通过预埋的代理组件实现与系统进程间的通信。热修复需要在补丁包中包含一个新逻辑的dex文件。资源的修复,主要通过修改资源包的内容。so库修复是通...原创 2019-02-17 15:31:06 · 410 阅读 · 0 评论 -
如何学习插件化
现在的进展见PluginDemo ,现在实现了插件中类、资源、Activity的加载。1、类的加载step1:通过反射把插件dex和宿主dexElements合并成一个新的dex数组,替换宿主之前的dexElements字段;2、资源的加载step2:通过修改过的aapt程序把插件中的资源修id改为不是以0x7f开头的常量(避免与宿主资源冲突);step3:在宿主app中通过反射调用a...原创 2019-04-07 15:16:16 · 244 阅读 · 0 评论