Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android插件化開發之動態加載技術系列索引

Android插件化開發之動態加載技術系列索引

編輯:關於Android編程

動態加載介紹

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

現在使用得比較廣泛的動態加載技術的核心一般都是使用ClassLoader,後者能夠加載程序外部的類(已編譯好的),從而達到升級代碼邏輯的目的。雖然動態加載的核心原理比較簡單,但是根據功能的復雜程度,實際在Android項目中使用的時候還要涉及許多其他方面的知識,這裡分為幾個篇幅分別進行介紹。

簡單易懂的介紹

內容:

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

  2. Android的動態的加載大致可以分為“加載SO庫”和“加載DEX/JAR/APK”兩種;

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

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

  5. 采用動態加載的作用與代價;

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

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

類加載器ClassLoader的工作機制

內容:

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

  2. ClassLoader的雙親代理模式;

  3. DexClassLoader和PathClassLoader之間的區別;

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

  5. 自定義ClassLoader(Hack開發)

加載SD卡的SO庫

內容:

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

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

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

簡單的動態加載模式

內容:

  1. 如何創建我們需要的dex文件;

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

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

代理Activity的模式

內容:

  1. 如何啟動插件APK中沒有注冊的Activity

  2. 代理Activity模式開源項目“dynamic-load-apk”

動態創建Activity的模式

內容:

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

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

  3. 動態創建Activity模式開源項目“android-pluginmgr”

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

還未發布的內容

  1. 使用“環境注入”的模式;

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

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

  4. 開源項目“Android-Frontia”,動態加載框架的項目,專注於“插件化”和“宿主與插件之間的通訊”;

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved