Android フレームワークObjectAnimator
インスタンスで使用されるメソッドがあります。したがって、それらは未使用のように見え (リフレクションによって使用されます)、SuppressWarnings("unused")
注釈を追加するので、IntelliJ は警告を表示しません。ただし、ProGuard は引き続きそれらを削除するため、削除しないように明示的に伝える必要があります。これは面倒で冗長に思えます (DRY に違反します)。でメソッドを削除しないように ProGuard を構成することは可能SuppressWarnings("unused")
ですか?
質問する
583 次
3 に答える
4
一部のクラスとメンバー (フィールドとメソッド) を保持するように ProGuard に指示するオプションについては、公式ドキュメントhttp://proguard.sourceforge.net/manual/usage.html#keepoptionsで説明されています。
次を使用して、クラスメンバーを保持するようにProGuardに指示できます。
-keepclassmembers class_specification
あなたは次のclass_specification
ようになります:
class * {
@java.lang.SuppressWarnings <methods>;
}
したがって、あなたproguard.cfg
には次のようなものが必要です:
-keepclassmembers class * {
@java.lang.SuppressWarnings <methods>;
}
于 2014-03-15T20:07:08.580 に答える
1
Dexguard で同様の剥ぎ取りの問題に直面したことがあります。私はこれをどこかに置いて、本当に汚い方法で解決しました:
if(System.currentTimeMillis() < 0 ){ //never happens
//..
//TODO directly invoke stripped methods
//..
}
于 2014-03-15T19:41:33.350 に答える