2017-12-06 13 views
0

私は私の現在のProGuardの設定ProGuardによるパッケージプライベートおよび/またはパブリッククラスの難読化を防ぐには?

-keep public class * extends android.app.Activity

で探していますし、それから例を取って、私は順番に、私は難読化したくないすべてのクラスで使用するつもりマーカーインターフェイスProtectedAgainstProGuardを作成しましたすべてのクラスをproguardファイルにリストするのではなく、上記のようなone-linerを使用します。

しかし、時にはパブリッククラスがこのインタフェースを実装しますが、パッケージプライベートクラスもそれを実装することがありますので、どのようにルールを記述しますか?

A)-keep class * implements com.myapp.ProtectedAgainstProGuard

B)-keep public class * implements com.myapp.ProtectedAgainstProGuard

C) -keep class * implements com.myapp.ProtectedAgainstProGuard -keep public class * implements com.myapp.ProtectedAgainstProGuard

+0

[Proguardでは、パッケージ/デフォルトのアクセス変数とメソッドを保持するキーワードは何ですか?](https://stackoverflow.com/questions/26183906/in-proguard-what-is-the- keyword-to-preserve-package-default-access-variables-an) – user1643723

答えて

1

ステップ1:これは、難読化されないように、インターフェースを維持

-keep interface com.myapp.ProtectedAgainstProGuard {*;} 

ステップ2 :このインタフェースを実装するすべてのクラスを保持する

-keep class * implements com.myapp.ProtectedAgainstProGuard { *; } 
関連する問題