随着android技术不断更新,app插件化也逐渐成为焦点。本人在上海某公司做物流产品,用到很多扫描驱动。近期应老大需求,要求我们把扫描做成插件化,让用户下载并动态加载。上网上看了一番,发现都是通过classloader通过反射机制去加载jar/dex/apk中类的方法。类加载器(class loader)把类的字节代码加载到Java虚拟机中。虽然这种方法可以很轻松的加载任意代码,但是我们发现如果要是去启动一个activity就会报错,我们发现了俩个问题,一是res资源文件是无法正常加载的,二是activity的重中之重,它没有自己的context上下文对象,同时它对于加载器来说也只是一个class,没有自己的生命周期。所以衍生出代理activity。随着android技术不断更新,app插件化也逐渐成为焦点。本人在上海某公司做物流产品,用到很