问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android动态加载有什么用

发布网友 发布时间:2022-05-29 06:03

我来回答

1个回答

热心网友 时间:2023-10-09 02:55

在 Java 里面,我们可以把一些类放到 .jar 文件里面,然后用 ClassLoader 动态加载。例如:
[java] view plaincopy
URLClassLoader ucl = URLClassLoader.newInstance(new URL[]
{new URL("file:/sdcard/files/test.jar")});
Class clazz = ucl.loadClass("com.test.TestClass");
但是在 Android 上面,情况有所不同。
首先第一个是 jar 文件的制作,Java 里面直接把 .class 文件打包到 .jar 文件里面就可以了,但是 Android 的 Dalvik VM 是不认 Java 的 byte code 的,所以不能直接这么打包,而要用 dx 工具转成 Dalvik byte code 才可以。当然,dx 工具转了之后,jar 包里面就不是 .class 文件了,而是 .dex 文件。
第二个是,Android 里面虽然也提供了 URLClassLoader 的实现,但是并不能用。要动态加载其它类,可以用的 Class Loader 有:
DexClassLoader
PathClassLoader
其中,DexClassLoader 可以加载 apk, jar 或者 dex 文件,例如:
[java] view plaincopy
File jarFile = new File("/sdcard/test.dex");
if ( jarFile.exists() ) {
DexClassLoader cl = new DexClassLoader(jarFile.toString(), "/sdcard/test", null, ClassLoader.getSystemClassLoader());
Class<?> c = cl.loadClass("com.qihoo360.test.Test");
...
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
荣耀v20杀后台严重? 聊天时哪些回复让人感觉不舒服? 货物运输保险案例分析 卞和泣玉注释 求解,卞和泣玉没学过,在线等解。 葛加走之底读什么 在等腰三角形ABC中,AB=AC=5,BC=6,求角B的三角函数值 ...人开走一架战斗机,在一架客机下面飞,好几个飞机来拦截, ...话是三架飞机 机型各不同 在山区飞行发现恐怖分子用驴车运核弹 用AK... ...的成为战斗机飞行员。战争结束回国继续抢银 Android-android上可以运行时加载jar吗 请问激光祛痘要多少钱?激光祛痘一次就会好吗?还是要弄几次 激光祛痘脸几天可以好 大汉激光切割机怎么样 北京大方科技有限责任公司怎么样? 八十年代农民能分多少地 职业技术教育中心学校,翻译 求翻译 :南京市建邺区黄山路58号南京高等职业技术学校 翻译成英语地址怎么写 微信如何不设置地区 王家增的发表 有谁知道,版画家陈琦有什么新作品吗?出版过哪些作品集? 王治珊的画大概值多少钱 帅斌的主要作品 10月才结束的1届全国美展版画作品作品集是北京哪个出版社出的?急 张桂林的著作 著名版画家张国琳创作的全面资料? 请问“版画作品”、“版画作品集”英语怎么说? 女生体毛多,自卑,怎么办? 初中生女生脸上汗毛重是什么原因 初二男生体毛特别多【特别是腿毛】 怎么办? 谢谢 android 如何使用动态加载多个jar文件? Android studio怎么动态加载aar或jar-CSDN论坛 android studio 怎样添加第三方jar android怎么导入第三方jar包 动态加载JAR包中的所有类? 如何动态加载jar包,实现的功能类似放在lib目录下面? 怎么做粽子形状的香包 Android Studio 怎么添加使用第三方jar包及无法编译的问题解决方法 android怎么成功调用自己写的jar包 一名初中英语老师能从事哪些兼职工作 想找辽宁省凌海市金城造纸厂有家政公司吗? 冬季干燥吃点水果 冬季吃水果有哪些好处 我是做家政服务的,客户回访电话该怎么打?回访的时候该提些什么问题? 为什么笔记本电脑这种这么贵重的东西都能免费随便拿到? 我想做家政服务找谁 急急急!求写淘宝试用中心,申请免费试用戴尔笔记本电脑的申请理由 联想笔记本电脑全国联保1年的,坏了送去哪里修才免费?拿去时要带什么?_? Maastercam编孔的程序怎样设置呢 急求maastercam软件,可以在win7家庭版64位系统上可以安装的 目的与任务