使用到的技术:
1.DexClassLoader 将一个apk包加压到指定位置
2.AssetManager的addAssetPath方法可以将apk或者zip包中的资源加载到Resource 但是由于
AssetManager的addAssetPath方法是hide的,所以得用反射的方式来调用
3.Resource的getIdentifier(String name, String defType, String defPackage)方法来获得资id
宿主工程通过加载插件中的资源来替换原来的资源,宿主和插件之间没有耦合关系,只要资源的定义一致即可,其实插件就是一个资源包。可以即插即用。
效果: