Android 进阶解密阅读笔记20

资源插件化

在 VirtualApk 框架里,资源插件化有两种方案,

  • 合并资源
  • 插件资源(即仅插件使用,插件不能访问宿主资源)

在系统里资源是通过 Resource 来代表的,在创建应用 Context 的时候会设置 Resource 对象,而这对象的创建过程和 AssetManager 密切相关,所以最终要做文章的就在 AssetManager 身上。

如果是「合并资源」方式,就直接 Hook 出新的 Resource 来替换原有的,如果是「插件资源」就通过 AssetManager 的 addAssetPath 方法来加载插件资源。

so 库插件化

so 库的插件化和热修复其实没太大区别了,思路就是将插件 so 库前置,使得加载的时候让插件 so 库优先被加载上。

感想

关于插件化这块的内容,到目前为止我在实际项目里还没有使用过,所以光看理论的东西其实比较抽象和陌生,理解起来效果也不好。我倒是觉得这种情况下当以了解为主,如果感兴趣或者刚巧用的上可以再花些时间研究,如果近期不会用到或者不是圈子里普遍需要必备的,那就了解即可吧。

你可能感兴趣的:(Android 进阶解密阅读笔记20)