原创作者:@抹茶NightSky
本文稍作修改,方便自己使用。
新建util.myu
模块
/.这里使用了绝对路径和资源路径
.绝对路径用于获取文件名称防止加载多个文件被替换掉
.资源路径用于iApp的fc来复制文件打包就不用麻烦了
.nloadjar params1 path params2 res
.loadjar
.return ss.dex
./
fn loadJar(path,res)
//获取dex缓存路径
fn util.cachedex(path,res)
//获取当前App加载器
java(dir,activity,"android.content.ContextWrapper.getDir","String","dex","int",0)
java(cachepath,dir,"java.io.File.getAbsolutePath")
//加载dex
java(cll,activity,"android.content.ContextWrapper.getClassLoader")
java(cl,cll,"java.lang.ClassLoader.getParent")
javanew(ss.dex,"dalvik.system.DexClassLoader","String",ss.dpath,"String",cachepath,"String",null,"java.lang.ClassLoader",cl)
end fn
/.cachedex params1 path params2 res
.dex copy to cache
.return ss.dpath
.把.jar放到res文件夹,打包后也可以加载
./
fn cachedex(path,res)
javanew(file,"java.io.File","String",path)
java(fname,file,"java.io.File.getName")
java(cpath,activity,"android.content.ContextWrapper.getCacheDir")
java(cfpath,cpath,"java.io.File.getAbsolutePath")
ss(cfpath+"/"+fname,ss.dpath)
fc(res,ss.dpath,e)
end fn
iyu调用
s jarf=
fdir(jarf,path)
fn util.loadJar(path,jarf)
s jar=ss.dex
cls(jar,类名,变量)