天天看點

Android之動态加載技術

下面是我看過的有關Android動态加載技術的幾篇博文,分享~

大家可以先看看下面幾個文章對Android動态加載技術有個大體的思路了解:

Android應用插件式開發解決方法

農民伯伯的Android動态加載jar/dex

接下來是兩個實作Android動态加載的架構:

翻譯組成員作品:安卓應用程式插件化開發架構(android-application-plug-ins-frame-work)  

安織雲,安卓輕應用解決方案-apkplug架構

接下來是幾個實作Android動态加載技術的文章:

探秘騰訊Android手機遊戲平台之不安裝遊戲APK直接啟動法

注:上述文章中獲得apk路徑的代碼在高版本中得改一改,改成

String path = Environment.getExternalStorageDirectory() + File.separator;

String filename = "TestB.apk";

String optimizedDirectory = path + File.separator + "dex_temp"  ;

// 核心是這裡, 通過getDir來擷取一個File對象,然後在擷取到getAbsolutePath, 傳遞給DexClassLoader 即可

File file = getDir("dex", 0) ;

LoadAPK(paramBundle, path+filename, file.getAbsolutePath());

不然會抛出:java.lang.IllegalArgumentException: Optimized data directory /storage/sdcard0 is not owned by the current user. Shared storage cannot protect your application from code injection attacks.這個問題

Android動态加載代碼技術

Android apk動态加載機制的研究

Android apk動态加載機制的研究(二):資源加載和activity生命周期管理