java反编译遇到问题

测试谷歌GTS时,GtsNmgiarcTestCases包遇到错误。虽然后来解决了。 但是中间学习了apk 反编译。

参考如下链接:

https://blog.csdn.net/s13383754499/article/details/78914592

但是 GtsNmgiarcTestCases 用dex2jar时,出现了错误。有部分源码无法反编译。

报如下错误。

java.lang.RuntimeException: can not merge I and Z

搜索到若干讲这个错误的链接。这是混淆时防止dex2jar反编译的。

https://www.jianshu.com/p/0306cb947d7a

这个链接讲如何修改dex2jar源码。

https://bitbucket.org/pxb1988/dex2jar/issues/1/javalangruntimeexception-can-not-merge-i

 

  • OR modify the dex2jar code. return Type I when merge I and Z at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100)

反编译出来的某些class显示INTERNAL ERROR

 在这个目录下,下载了dex2jar的2.x版本。https://github.com/pxb1988/dex2jar  看到这个版本已经解决这个问题。但是没有找到这个版本编译好的可执行环境。只好自己编译:

编译参考如下网址:

https://travis-ci.org/pxb1988/dex2jar

用gradle编译。参考如下链接安装:

https://blog.csdn.net/wellplaying/article/details/78616520

下载链接 :https://gradle.org/next-steps/?version=5.3&format=bin

下面编译dex2jar,由于是windows系统,所以用gradlew.bat。

gradlew.bat assemble

第一次失败,没有下载成功gradle-4.0-bin.zip。第二次成功。

哈哈在如下路径找到编译出来的bin:

但是转出来的包仍然无法查看部分class。

都是泪啊!

不过我同事是可以的啊!!他的javac和java都是1.8但是比我高一点。难道是这个原因。

不管怎样。体验了一把gradle编译。后面再解吧。

没有反编译成功的class也刚好在工程中是开源的。不影响多少。

而且我发现dex-tools-2.1-SNAPSHOT 其实是可以下载的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值