私はプロガードを数か月使用してきましたが、今日、次の警告が表示され始めました。
[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 ブール値が false に設定されている場合は、このコードに触れないでください。そのため、プロガードがここで警告する理由がわかりません。
ブール値フラグを true にすると、proguard は警告なしで正常に実行されます。これがどのように起こっているのでしょうか?
ありがとう