Androidのコピペで使えるProguard

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

#Javascriptインターフェイスは以下のようにアノテーション自体の保護をしてやらないと
#最新のアンドロイドOSでは動作しません。
#そしてよくStackなんたら風呂でもお決まりなのが自作のJSインターフェイスのクラス自体を
#Keepを具体的に記述してやるパターン。
#しかしめんどうなので以下のようにすればイケました。(自己体験談。イケるとイイネ。)
-keepattributes JavascriptInterface
-keepclasseswithmembers class * {
@android.webkit.JavascriptInterface <methods>;
}

# ネイティブメソッド守る。もしかしたらSDKに含まれるデフォのほうに既に記述してあるかも。
-keepclasseswithmembers,allowshrinking class * {
native <methods>;
}

# お金を取る系の部分。これは要る。オフィシャルもそう言ってる。
-keep,allowshrinking public class com.android.vending.billing.*

# きっと最近じゃTwitter連携は当たり前だね。
# 以下のように外部ライブラリ使ってるよ、守るよ、の他にワーニング消さないとうまくいかない。
twitter4j (external library for twitter)
-libraryjars libs/twitter4j-core-3.0.3.jar
-dontwarn twitter4j.management.**
-dontwarn twitter4j.TwitterAPIMonitor
-dontwarn twitter4j.internal.**
-dontwarn twitter4j.Annotation
-keep class twitter4j.** { *; }