gpt4 book ai didi

Java/Proguard : Find out why jar does not Validate/Verify?

转载 作者:行者123 更新时间:2023-12-01 09:08:57 25 4
gpt4 key购买 nike

遇到此错误(正如其他人之前遇到的那样):java.lang.VerifyError:在分支目标 18 处期望堆栈图帧

我通过将 -noverify 添加到 jdk 选项找到了解决方法。当然这不是实际的解决方案,所以我试图找出 jar 的实际问题以及为什么它没有成功验证......

这里有两个 jar ,已知要验证/不验证:- 验证:https://repo.leanplum.com/com/leanplum/Leanplum/1.2.25/- 不验证:https://repo.leanplum.com/com/leanplum/Leanplum/1.3.1/Leanplum-1.3.1.jar

我试图了解为什么它没有验证,尝试了 asm,它为两者吐出了这么多错误。

该问题是由 proguard 引起的,因为禁用 proguard 缩小会使 jar 再次验证。

有什么办法可以找出为什么 jar 不能用 java 验证吗?

最佳答案

这些 jar 很可能是由 ProGuard 混淆/生成的,并且不包含 StackMapFrame 属性。由于这些jar主要用于Android开发,因此不需要保留这些属性,因为Dalvik不支持此类属性。

如果您想在普通 Java 应用程序中使用它们,您将需要创建具有正确 StackMapFrame 属性的 jar 文件(或使用 -noverify 选项)。实际上,您也可以使用 ProGuard 来实现这一点,请查看 User Guide .

关于Java/Proguard : Find out why jar does not Validate/Verify?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41051236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com