0

私はproguardで構築しています。特定のインターフェースを実装するすべてのクラスを保持するようにプロガードに明示的に指示しました。

-keep public class * implements com.me.app.views.Fooable

インターフェイスには、実装するメソッドが 1 つあります。それは、doSomething です。しかし、proguard でビルドするとアプリがクラッシュします。

しかし、私はまだこのエラーが発生します。

 java.lang.NoSuchMethodException: doSomething

プロガードがビルドを台無しにしないようにするには、どうすればこれを修正できますか?

4

1 に答える 1

2

インターフェイスとそのメソッドを保持する必要があります。

-keep interface com.me.app.views.Fooable {
  void doSomething();
}

そうしないと、メソッドの名前が変更されたり、削除されたりする可能性があります。

于 2011-07-17T21:27:02.347 に答える