Yinchen 的博客
首页
分类
归档
关于
首页
分类
归档
关于
登录
标签:插件化
清除筛选
Android 插件化(三):如何加载插件里的资源
2026/09/09
Android系统
本文整理自享学团队直播课《Android 插件化(三):资源加载》。 前面两讲把插件的类和 Activity 都"骗"进来了,但插件的 Activity 跑起来之后,getResources 拿到的还是宿主的资源——图片、字符串、布局全是宿主那套。这一讲要做的就是让插件用自己的 AssetManager 单独加载一份属于插件的资源。 要做到这一点,你得先想通两件事: 上一讲那两个 Hook 点
Android 插件化(二):如何启动插件里的 Activity
2026/09/09
Android系统
本文整理自享学团队直播课《Android 插件化(二):Activity加载》。 上一讲解决的是"插件的类能被加载进来",这一讲解决的是"插件的 Activity 能真正被启动"。前者靠类加载器,后者靠 Hook——在 Android 启动 Activity 的链路中间安插一个钩子,把"要启动哪个 Activity"这个信息偷偷换一遍,让一个已注册的占坑 Activity 去骗过 AMS 的校验,
Android 插件化(一):如何加载插件里的类
2026/09/09
Android系统
本文整理自享学团队直播课《Android 插件化(一):类加载》。 插件化的第一件事:让宿主把自己没装过的「插件类」加载进来。拆开看,底层动作就三步:用一个 DexClassLoader 去加载插件 APK,反射拿到它内部的 dexElements,再合并进宿主自己的 dexElements。这三步做完,宿主 loadClass 一个插件类,和加载自己的类没有区别。 结论就上面三句,但直接看反射代
Python插件化框架设计与实现
2026/08/17
设计模式
一、插件框架要回答的三个问题 一个插件框架绕不开三点: 引擎怎么知道有哪些插件 引擎怎么用统一方式驱动它们 插件之间怎么传数据 pyplugin-framework 给出的方案是: 第一个问题交给元类:插件类定义完成的瞬间,元类会把这个类写进一张全局注册表,引擎侧不需要维护任何登记代码。 第二个问题交给 PluginCore:所有插件都从它派生,引擎统一调用它们的 invoke 方法。 第三个问题