android動態載入jar

2021-06-28 21:22:50 字數 1138 閱讀 3502

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...