Android源码编译jar包BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY的区别(二)

时间:2021-04-11 00:29:43

上文简单介绍了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:随笔都是懒人想到了就写写,身边没有开发环境截图演示,写下来主要是为了自己备忘,如果真的有人需要更详细的信息,留言如看到一定及时回复:)