如何在jar文件的Java类中进行更改

时间:2019-06-12 06:28:54

标签: java android arcgis esri

问题

我已将arcGIS jar文件集成到我的一个Android项目中,并希望在jar文件中的java类中进行一些修改。我使用反编译器工具Jd-GUI工具修改了jar,并能够编辑java类。 现在,在这种情况下,我将使用更新的类(OAuthView)再次创建同一文件夹的jar。

这里的问题是在将此更新的jar文件集成到同一Android项目中之后,我无法正确编译我的项目。

为什么需要在arcGIS(esri))OAuthView Java类中进行更改: *应用程序在安全测试中失败   原因:跨站点脚本(Java注入),该报告说OAuthView类中的这一行造成了问题:

setJavaScriptEnabled(true)

我在寻找什么 任何解决此问题的方法。

屏幕截图(错误日志)

Error Log Screenshot

1 个答案:

答案 0 :(得分:1)

我怀疑的一个问题是,当您反编译jar时,很多时候都无法正确反编译。因此,当您再次包装广口瓶时,就会出现问题。这是您可以做的。

  1. 将jar文件的扩展名重命名为.zip文件
  2. 提取压缩文件
  3. 现在仅反编译1个文件(而不是整个jar文件)
  4. 一旦将其反编译,请更改代码,然后复制.class文件并将其替换为旧文件。
  5. 用新文件替换旧文件后。
  6. 再次压缩文件夹。
  7. 将压缩文件的扩展名从.jar重命名为.zip

如果问题仍然存在,请尝试更改反编译器程序,然后再次重复上述步骤。