Android插件化开发之动态加载技术系列索引
動態加載介紹
在Android開發中采用動態加載技術,可以達到不安裝新的APK就升級APP功能的目的,可以用來到達快速發版的目的,也可以用來修復一些緊急BUG。
現在使用得比較廣泛的動態加載技術的核心一般都是使用?ClassLoader?,后者能夠加載程序外部的類(已編譯好的),從而達到升級代碼邏輯的目的。雖然動態加載的核心原理比較簡單,但是根據功能的復雜程度,實際在Android項目中使用的時候還要涉及許多其他方面的知識,這里分為幾個篇幅分別進行介紹。
簡單易懂的介紹
內容:
動態加載技術在Android中的使用背景;
Android的動態的加載大致可以分為“加載SO庫”和“加載DEX/JAR/APK”兩種;
動態加載的基礎是類加載器ClassLoader;
使用動態加載的三種模式;
采用動態加載的作用與代價;
除了ClassLoader之外的動態修改代碼的技術(HotFix);
一些動態加載的開源項目;
地址:Android動態加載技術 簡單易懂的介紹
類加載器ClassLoader的工作機制
內容:
類加載器ClassLoader的創建過程和加載類的過程;
ClassLoader的雙親代理模式;
DexClassLoader和PathClassLoader之間的區別;
使用ClassLoader加載外部類需要注意的一些問題;
自定義ClassLoader(Hack開發)
文章地址:Android動態加載基礎 ClassLoader的工作機制
加載SD卡的SO庫
內容:
如何編譯和使用SO庫;
分析Android中加載SO庫相關的源碼;
如何加載SD卡中的SO庫(也是動態加載APK需要解決的問題);
地址:Android動態加載補充 加載SD卡的SO庫
簡單的動態加載模式
內容:
如何創建我們需要的dex文件;
如何加載dex文件里面的類;
動態加載dex文件在ART虛擬機的兼容性問題;
地址:Android動態加載入門 簡單加載模式
代理Activity的模式
內容:
如何啟動插件APK中沒有注冊的Activity
代理Activity模式開源項目“dynamic-load-apk”
地址:Android動態加載進階 代理Activity模式
動態創建Activity的模式
內容:
如何在運行時動態創建一個Activity;
自定義ClassLoader并偷梁換柱替換想要加載的類;
動態創建Activity模式開源項目“android-pluginmgr”
代理模式與動態創建類模式的區別;
地址:Android動態加載黑科技 動態創建Activity模式
還未發布的內容
使用“環境注入”的模式;
使用動態加載技術的情形;
使用動態加載方式項目的項目結構調整和開發調試方式;
開源項目“Android-Frontia”,動態加載框架的項目,專注于“插件化”和“宿主與插件之間的通訊”;
總結
以上是生活随笔為你收集整理的Android插件化开发之动态加载技术系列索引的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android插件化开发基础之App如何
- 下一篇: Android插件化开发基础之Java类