今天看啥  ›  专栏  ›  看雪学苑

安卓逆向之插件化技术学习

看雪学苑  · 公众号  · 互联网安全  · 2025-05-09 17:59
    

主要观点总结

本文介绍了插件化开发在Android技术中的应用,提到了Flutter等技术的发展,以及插件化技术的适用场景。作者个人经历了从学习Android基础到源码的过程,并探索了插件化开发的相关知识。文章详细描述了startActivity方法的调用链、AMS与ActivityThread的交互,以及插件Dex的加载和资源加载的过程。同时,提到了So加载的问题,以及Service的加载与AMS的交互。最后,作者分享了个人对插件化开发的思考和学习经历,并给出了Vapp项目的地址。

关键观点总结

关键观点1: 插件化开发背景与意义

从Android技术的概念提出到Flutter等技术的发展,插件化技术一直是Android进步的重要方向。

关键观点2: 插件化技术适用场景

适用于大型应用模块化拆分、按需加载功能和第三方服务集成等场景。

关键观点3: 插件化开发探索

作者个人经历了从Android基础到源码的学习,并探索了插件化开发的相关知识。

关键观点4: startActivity方法调用链

描述了startActivity方法的调用链,以及AMS与ActivityThread的交互。

关键观点5: 插件Dex加载

介绍了插件Dex的加载过程,包括双亲委派模型、Dex文件解析和类加载流程。

关键观点6: 资源加载

讨论了资源加载的问题,如资源冲突等,并提供了解决思路。

关键观点7: So加载

提出了So加载的问题,并提供了解决方案,如预加载So文件。

关键观点8: Service加载

介绍了Service的加载与AMS的交互,并给出了相关代码示例。

关键观点9: 学习经历与项目分享

作者分享了个人对插件化开发的思考和学习经历,并给出了Vapp项目的地址。


文章预览

1 引言 插件化开发的背景与意义 ◆从12年的概念提出,到16年的百花齐放,插件化技术引领着Android技术的进步。 ◆现在出现的flutter 等等已经让插件化技术变得没那么重要。 插件化技术的适用场景 ◆大型应用模块化拆分、按需加载功能、第三方服务集成 ◆多开app,无需安装运行app的框架 我所了解到virtualapp,edxposed等等,可以说实现安卓app的多开,那时候我就想自己实现一个简单的demo,可以多开简单的app就够了。 于是开始了的安卓学习之旅,本以为学完了安卓基础,就可以自己完成开发,结果就只能望着android studio 发呆 ------原来这个是高级的开发知识。 继而开始了我的安卓源码学习之路。 读了很多教程与安卓开发的书籍才知道,要实现多开要先学会插件化开发, 那我们一起进入这个旅程吧。 源码基于 安卓12 2 Activity 在源码中的启动 从开发者熟 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览