gpt4 book ai didi

android - Proguard 找不到引用的类?

转载 作者:行者123 更新时间:2023-11-29 00:29:03 25 4
gpt4 key购买 nike

我已经使用混淆器几个月了,今天我开始收到这个警告:

[proguard] Initializing...
[proguard] Warning: com.me.MyFragment: can't find referenced class com.me.MyFragment$1
...

这是有问题的代码:

public class MyFragment extends Fragment {
private static final boolean DEBUG = false;

public void foo() {
if (DEBUG) {
Button btn = new Button();
btn.setOnClickListener(new OnClickListener() {
...
});
...
}
}
}

OnClickListener 是缺少的 $1 引用。但是如果 DEBUG bool 值设置为 false,则不应修改此代码,所以我不明白为什么混淆器会在这里警告我。

如果我将 bool 标志设置为 true,那么 proguard 会在没有警告的情况下正常运行。知道这是怎么发生的吗?

谢谢

最佳答案

ProGuard 在读取输入之后和执行任何处理之前打印出此错误。显然,输入包含 com/me/MyFragment.class,但不包含其匿名内部类 com/me/MyFragment$1.class。您可能希望从干净的构建开始。然后,您应该确保 ProGuard 之前的构建步骤正常运行:编译、打包……您可以检查传递给 ProGuard 的输入。

关于android - Proguard 找不到引用的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17203853/

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