上文简单介绍了BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY编译出来jar包的区别,
那么你如果拿到了一个内容是dex格式的jar包,而你又偏偏需要这个jar包导入Eclipse来做开发,
手头偏偏又没有这个jar包的源码,或者有源码,但是没有Android源码编译(mm)的环境,怎么办?
这个时候谷歌安卓反编译工具(dex2jar, 本人实在太懒,就不提供下载链接了)就有用处了,
将jar包里面的dex文件(classes.dex)用此神器转换成一个崭新的jar包,用好压之类的解压缩打开之,
可以发现,里面的文件就是单独的java class文件,赶紧导入Eclipse,发现居然可以正常使用。
这个时候,如果你手头有BUILD_STATIC_JAVA_LIBRARY编译出来的jar包(嗨!不是说没有的吗?),
对比一下,发现神器转换出来的jar包要比编译得来的要小,想个办法让这两个jar包里面的方法报错(具体实例有空再举,这懒的。。。没救了),
可以看到,文件小的jar报错居然没有代码的行数显示,猜测这就是为什么文件小的原因之一吧,相当于C/C++编译lib库里面的调试信息没了。
PS:随笔都是懒人想到了就写写,身边没有开发环境截图演示,写下来主要是为了自己备忘,如果真的有人需要更详细的信息,留言如看到一定及时回复:)
时间: 2024-10-08 19:14:11