加载插件中的类
1、创建插件的DexClassLoader类加载器,通过反射获取插件的dexElements
2、获取宿主pathClassLoader类加载器,然后通过反射获取宿主的dexElements的值
3、合并宿主dexElements与插件的dexElements,生成新的Element[]
4、通过反射给新的element[]复制给宿主的dexElements
加载插件中的资源
1、创建AssetManager对象,调用addAssetPath方法,将插件apk的路径作为参数传入
2、将第一步创建的AssetManager对象作为参数,创建一个新的Resources对象,并返回给插件使用
3、重写getResoures方法
跳转插件中的Activity
1、宿主中创建ProxyActivity extends Activity,在清单文件中注册
2、Activity启动时,检测之前替换测ProxyActivity,检测完毕之后换回插件Activity