怎么将 Android 程序做成插件化的形式?

只是一个纯技术上的疑惑:Android程序每次更新都要下载一个完整的apk,而很多时候软件只是更新了一个小功能而已,这样的话,就显得很麻烦。能不能把android程序做成主程序+插件化的形式呢,这样才利于小功能的扩展啊
关注者
1,249
被浏览
124,556
完全可以,而且在淘宝、微信等 App 已经实现并应用,主要利用 Java ClassLoader 的原理,对于 Android 来说是 DexClassLoader,如下
DexClassLoader pluginClassLoader = new DexClassLoader(dexPath, optimizedDirectory, libraryPath, parentClassLoader);
可动态加载的内容包括 apk、dex、jar 等

我也利用这个原理及开源项目实现了一个版本,并且整理了 Android 插件化的作用、概念以及不错的资料(包括开源项目)和解决方案。

其中包括 65535 问题,Android 插件化、Android 组件化、Android 动态加载、Android 动态升级;介绍 DexClassLoader 和 PathClassLoader 的区别;如何解决生命周期管理、资源访问问题,如何消除公共依赖

详细可见我的博客:利用 DexClassLoader 实现 Android 插件化,从而达到动态加载