Android插件化开发细节
mob 发布于 2023-08-15

对于业务复杂繁多,且经常变化修改的系统,必然会有很多模块,而且各个模块属于不同小组开发,插件式开发是一个很好的架构。

其核心思想就是反射,涉及两个重点的类型

PathClassLoader :加载已经安装到Android系统中的Apk的 class 字节码文件,是Android默认使用的类加载器;

DexClassLoader :加载制定目录的dex/jar/apk/zip文件;初始化可用this.dexClassLoader = new DexClassLoader(apkPath, apkDexPath, null, this.getClassLoader());

// 通过反射机制调用相关的类  

           Class mLoadClass = classLoader.loadClass("com.example.apkdemo.HelloApkActivity");  

           Constructor constructor = mLoadClass.getConstructor(new Class[] {});  

           Object testActivity = constructor.newInstance(new Object[] {});  

 

mob
关注 私信
文章
61
关注
0
粉丝
0