jar的載入:(jar放在assert中)
dexclassloader dexclassloader= null;
classloader localclassloader = this.getclassloader();
try catch (ioexception e)
}fileoutputstream out = new fileoutputstream(dexinternalstoragepath);
fileoutputstream);
byte buffer = new byte[1024];
int length;
in.read();
while ((length = in.read(buffer)) > 0)
out.flush();
in.close();
out.close();
final file optimizeddexoutputpath = getdir("temp",context.mode_private);
dexclassloader = new dexclassloader(dexinternalstoragepath.getabsolutepath(),
optimizeddexoutputpath.getabsolutepath(), null , localclassloader);
replaceclassloader(dexclassloader);
} catch (exception e)
替換classloder
private void replaceclassloader(classloader classloader)
catch (illegalargumentexception e) catch (nosuchfieldexception e) catch (illegalacces***ception e)
}
但是這個還是有問題,就是如果jar中有呼叫本地**,還是會報錯,即使我修改了
dexclassloader第三個引數,依然不行,這個問題我還沒有想到好的辦法,若哪位知道求告知
Android外掛程式化 動態載入jar 一
4.結束 dexclassloader 和 pathclassloader 的都是繼承與 basedexclassloader,是通過類載入 classloader 來載入查詢 class。pathclassloader只能載入已經安裝到android系統中的apk檔案,dexclassloader...
android 動態載入布局
android 開發 動態載入布局 動態載入布局分為匯入xml控制項和新建控制項兩種,新增至原布局中,適用於動態變化的介面和不適合用xml固定布局的情況 1 自己新建xml布局並與原來的activity所顯示的布局相關聯 layoutinflaterminflater layoutinflater....
android 動態載入技術
首先,應該保證host程式 inte ce部分和impl實現部分在同乙個專案中,其中inte ce部分和impl實現部分作為android library。寫好 之後,將impl部分打包jar的build指令如下 task clearjar type delete task makejar type...