Android動態加載技術 系列索引

Android Dynamical Loading

android-dynamical-loading

你們新年好,最近花了點時間,慢慢把這個系列的內容稍微調整了下。
Last Edit: 2016-2-10android

基本信息

動態加載介紹

在Android開發中採用動態加載技術,能夠達到不安裝新的APK就升級APP功能的目的,能夠用來到達快速發版的目的,也能夠用來修復一些緊急BUG。segmentfault

如今使用得比較普遍的動態加載技術的核心通常都是使用 ClassLoader ,後者可以加載程序外部的類(已編譯好的),從而達到升級代碼邏輯的目的。雖然動態加載的核心原理比較簡單,可是根據功能的複雜程度,實際在Android項目中使用的時候還要涉及許多其餘方面的知識,這裏分爲幾個篇幅分別進行介紹。框架

簡單易懂的介紹

內容:spa

  1. 動態加載技術在Android中的使用背景;插件

  2. Android的動態的加載大體能夠分爲「加載SO庫」和「加載DEX/JAR/APK」兩種;代理

  3. 動態加載的基礎是類加載器ClassLoader;調試

  4. 使用動態加載的三種模式;開發

  5. 採用動態加載的做用與代價;

  6. 除了ClassLoader以外的動態修改代碼的技術(HotFix);

  7. 一些動態加載的開源項目;

地址:Android動態加載技術 簡單易懂的介紹

類加載器ClassLoader的工做機制

內容:

  1. 類加載器ClassLoader的建立過程和加載類的過程;

  2. ClassLoader的雙親代理模式;

  3. DexClassLoader和PathClassLoader之間的區別;

  4. 使用ClassLoader加載外部類須要注意的一些問題;

  5. 自定義ClassLoader(Hack開發)

文章地址:Android動態加載基礎 ClassLoader的工做機制

加載SD卡的SO庫

內容:

  1. 如何編譯和使用SO庫;

  2. 分析Android中加載SO庫相關的源碼;

  3. 如何加載SD卡中的SO庫(也是動態加載APK須要解決的問題);

地址:Android動態加載補充 加載SD卡的SO庫

簡單的動態加載模式

內容:

  1. 如何建立咱們須要的dex文件;

  2. 如何加載dex文件裏面的類;

  3. 動態加載dex文件在ART虛擬機的兼容性問題;

地址:Android動態加載入門 簡單加載模式

代理Activity的模式

內容:

  1. 如何啓動插件APK中沒有註冊的Activity

  2. 代理Activity模式開源項目「dynamic-load-apk」

地址:Android動態加載進階 代理Activity模式

動態建立Activity的模式

內容:

  1. 如何在運行時動態建立一個Activity;

  2. 自定義ClassLoader並偷樑換柱替換想要加載的類;

  3. 動態建立Activity模式開源項目「android-pluginmgr」

  4. 代理模式與動態建立類模式的區別;

地址:Android動態加載黑科技 動態建立Activity模式

還未發佈的內容

  1. 使用「環境注入」的模式;

  2. 使用動態加載技術的情形;

  3. 使用動態加載方式項目的項目結構調整和開發調試方式;

  4. 開源項目「Android-Frontia」,動態加載框架的項目,專一於「插件化」和「宿主與插件之間的通信」;

相關文章
相關標籤/搜索