特定のクラス・インタフェースだけを Proguard で難読化する

  • 11
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

proguard-project.txt では難読化したくないクラスを -keep オプションで除外していくようになっていますが、除外するクラスを全部確実に指定するのは結構大変で、難読化しちゃいけないクラスを難読化してトラブルことが多いです。

そこで、逆に特定のクラス「だけ」を難読化し、デフォルトは難読化しないようにすることができます。

-keep class !com.example.** { *; }
-keep interface !com.example.** { *; }

上記のようにすると、com.example.** 以外のものをすべて難読化除外します。"!" をつけているところがミソです。