java - proguard: java.lang.NoSuchFieldError 用于访问超类中定义的字段
问题描述
Proguard:运行时的 java.lang.NoSuchFieldError。
子类无法访问其在超类中定义的字段。反编译 proguarded 类文件后:
class Foo {
protected Bar a;
}
class Foo2 extends Foo {
public Bar getBar() {
return this.a;
}
}
在运行时,调用 foo2.getBar() 得到 java.lang.NoSuchFieldError: a.
顺便添加proguard选项-addconfigurationdebugging,没有生成调试信息。
更新:
为在反编译的 .class 中找到的方法引发 java.lang.NoSuchMethodError。
解决方案
推荐阅读
- python - WebDriverWait 多个条件(或逻辑评估)
- javascript - 单击侧边栏时如何更改内容
- c# - 如何在 .NET / Visual Studio 中创建可浏览的类属性
- vb.net - Math.Net 多重回归在第 4 个自变量之后是错误的
- android - Admob 告诉我在发布版本上显示测试广告
- drupal - 如何在drupal 8中打印节点对象
- kotlin - 如何编写支持架构演化的流式 Dataflow 管道?
- java - 此驱动程序未配置为集成身份验证,任何想法
- javascript - websocket回调中的变量未更新
- haskell - 如何在 Haskell 中表示一个空的 IntSet?