Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java反编译器jd gui并获取//内部错误//_Java_Android_Dex2jar - Fatal编程技术网

使用java反编译器jd gui并获取//内部错误//

使用java反编译器jd gui并获取//内部错误//,java,android,dex2jar,Java,Android,Dex2jar,我使用dex2jar反编译了一个apk文件,并在jdgui中打开了生成的jar文件。我可以很好地查看几乎所有的代码,但有一部分(常量)只显示//内部错误//,其他什么都不显示。有办法检索常量吗?任何经过此问题的人都应该查看以下内容: 使用它而不是JDGUI,我能够成功地查看JDGUI上显示为内部错误的所有代码 您也可以尝试Jadx:我通过安装Java Jdk 64位“Java SE开发工具包8u111”修复了这个问题。可能是因为您在代码中使用了lambda表达式,我观察到JD多次显示//内部错误

我使用dex2jar反编译了一个apk文件,并在jdgui中打开了生成的jar文件。我可以很好地查看几乎所有的代码,但有一部分(常量)只显示
//内部错误//
,其他什么都不显示。有办法检索常量吗?

任何经过此问题的人都应该查看以下内容:

使用它而不是JDGUI,我能够成功地查看JDGUI上显示为内部错误的所有代码


您也可以尝试Jadx:

我通过安装Java Jdk 64位“Java SE开发工具包8u111”修复了这个问题。

可能是因为您在代码中使用了lambda表达式,我观察到JD多次显示//内部错误//使用lambda表达式,尝试用匿名类替换。尝试使用Lyten反编译器这里是链接:此

请下载最新版本。 面临类似的问题,并且在更新后仍然有效


您正在运行哪个版本的jd gui和哪个版本的Java?您是否尝试过运行
javap
?反编译器的兼容性随着每个新的Java版本而变化。请尝试luyten/bytecode viewerLuyten不允许打开目录(例如,目录结构中的几个
.class
文件)。它只在jar文件中工作,因此对我没有用处。@TomášZato您可以自己构建jar文件。只需将整个目录结构放入一个zip文件并将其重命名为jar.OK,但JDGUI可以反编译wars,其中的LIB是链接的。在Luyten中,如果我们将所有jar内容放在zip中并重命名为jar,那么我们可以看到类,但库中的jar无法反编译。Jadx工作得非常好。Luyten没有显示在Jadx和JD-GUI中可以看到的lambda类。我认为Luyten有一个缺点。我试着打开一个war文件,在它小小的任务栏上显示文件太大:76.5MB将试用Lyten反编译器。请努力解释一下你的答案。这将真正帮助解决类似问题的其他人