如果要用DexClassLoader动态加载jar的话 首先就要把对应的jar转化成Dalvik字节码 也就是dex化,这里用到android build tools里面的dx。顺便一提 很多其它文章里说到的dex化时必须把jar/class文件和dx放在同一个目录里,其实是没有这个限制的 任何一个位置都可以,但是必须保证dx.bat/dx.sh 和 dexdump在同一目录。
同时在Dex化时经常碰到的一个问题是TopLevelexcEption,阅读下面的可以看到是和版本有关,这个时候你就要查看你的jdk版本了,貌似dx只能转化1.6版本(或许向下兼容,没有尝试过 1.8亲测无效,从一些其他博客来看1.7貌似也不行 与Android跑的是java6应该是有关联的)的jar字节码,不然就会报这个parseException以及版本错误,这个时候只要切到1.6的jdk去编译jar就好了。

分类:

发表评论

电子邮件地址不会被公开。