品牌型号:联想拯救者R7000
系统:Windows 10专业版
软件版本:Postman 11.18.0
JEB Decompiler是一款功能强大的反编译软件,支持反编译APK、Class等多种文件类型。我们在使用JEB进行反编译时,可能会遇到反编译APK报错的问题。或者需要重新设置反编译参数,应该怎么修改呢?本文将为大家介绍JEB Decompiler反编译APK报错怎么办,JEB Decompiler反编译参数应如何重新设置的相关内容。
一、JEB Decompiler反编译APK报错怎么办
如果你是第一次使用JEB Decompiler,想要体验JEB强大的反编译APK功能,但是遇到反编译APK报错的情况,可以参考以下内容尝试解决。
1、APK文件损坏或结构不完整
APK下载过程意外中断、或者硬盘错误,尤其是直接下载到硬盘时,未完全写入就强制断开连接,非常有可能造成APK文件不完整,JEB解析时就会因无法读取完整目录结构而报错,正常的APK包含【Manifest】、【dex】、【resources】等核心文件,如果一个APK里没有这些文件,JEB可能无法解析,从而报错。

2、升级JDK版本
JEB的运行需要JDK 17及以上版本,如果当前APK是较高Java版本编译的,但是当前运行环境较低,可能会出现反编译报错的情况。建议升级到高版本的Java JDK,并配置环境变量,我们可以在控制台输入【java --version】查看当前系统的Java版本。

3、升级JEB版本
Android系统一直在升级迭代中,DEX格式会更新,例如引入新的字节码指令、泛型优化等。旧版本JEB可能不支持新版本DEX,建议升级JEB到最新版,防止出现不兼容的情况。同时,在反编译大型APK文件时,要保证电脑有足够的内存,防止出现因为内存不足,造成软件卡死的情况。

二、JEB Decompiler反编译参数应如何重新设置
在使用JEB Decompiler反编译参数应该怎么设置呢?我们将APK直接拖入JEB界面时,需要我们手动选择一些参数,例如下图所示,这些参数是什么意思?应该怎么选择呢?

首先我们需要选择【parser-class】因为此时拖进来的是一个class文件,对于其他类型,根据实际需求选择即可,例如反编译安卓APK就选择【apk】,反编译文件的类型不同,可以设置的参数也不同,本文就以反编译class文件为例,为大家讲解参数应该怎么选择。

1、Use d8 for dex conversion
【d8】是一个“文件处理工具”,是升级迭代后的产品,【dx】是老款的反编译引擎。dx的速度相对慢一些。d8更先进,速度更快,也更加高效,所以建议勾选该选项。
2、Enable desugaring
【Desugaring】这个词直译过来叫“脱糖”,Java 8及以上版本引入了Lambdas表达式,虽然方便书写,但是老的编译器或者安卓系统无法识别这种写法,就会“报错”。所以,该参数就是告诉d8引擎,将代码中Java 新特性自动转换成低版本Java能识别的写法。
三、总结
以上就是JEB Decompiler反编译APK报错怎么办,JEB Decompiler反编译参数应如何重新设置的相关内容。遇到使用JEB Decompiler反编译APK报错,首先可以参考上文内容排查问题,一般是Java版本问题。除此之外还为大家介绍了重新设置反编译参数的步骤,希望本文对你有所帮助。
