LoginSignup
3
3

More than 5 years have passed since last update.

この前書いたProguard一覧

Posted at

まあ、探せばいくらでも出てくるんですが、宣伝もかねて。
https://play.google.com/store/apps/details?id=com.collection.wather.weathertools
本当はもっといろいろ作っていたのだけれども、完成の日の目を見たいがために機能を削りまくってます。その結果、意味をなしていないProguardも備忘録を兼ねて記しておきます。

Glide

画像ライブラリ
Picassoと悩んだのですが、こちらの記事でGlideにしました。
http://qiita.com/rejasupotaro/items/ead90beaeaa2a6eace35

-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
    **[] $VALUES;
    public *;

Gson

パーサー
ここに書かれているものだけではだめで、デシリアライズしたデータを格納するクラスもkeepを忘れずにしないといけません。

-keep class com.google.gson.**
-keepattributes *Annotation*
-keepattributes Signature
-keep class sun.misc.Unsafe { *; }

OkHttp

通信ライブラリ
いわずもがな。

-dontwarn java.nio.file.*
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement

Retrofit

通信ライブラリ
GsonとOkHttpと組み合わせて使ってます。

-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-dontwarn com.google.appengine.api.urlfetch.*

Maps

グーグルマップ
地図を表示させたかったんです。

-keep class com.google.android.gms.maps.** { *; }
-keep interface com.google.android.gms.maps.** { *; }

Crashlitics

クラッシュ解析
いまならfirebaseの方がいいかも。

-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**

ButterKnife

View Injectionライブラリ
v7からか?これを使うとビルドがすこぶる遅くなったので速攻で消去しました。

-keep public class * implements butterknife.internal.ViewBinder { public <init>(); }
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewBinder { *; }
-keepclasseswithmembernames class * { @butterknife.* <methods>; }
-keepclasseswithmembernames class * { @butterknife.* <fields>; }

Twitter4J

Twitter非公式ライブラリ
楽になりますね。

-dontwarn twitter4j.management.**
-dontwarn twitter4j.TwitterAPIMonitor
-dontwarn twitter4j.internal.**
-dontwarn twitter4j.Annotation
-keep class twitter4j.** { *; }

おわりに

proguardの設定はデバックビルドだと気づけないので、意外とはまるポイントの1つですね。gradleでsyncしたときに自動で挿入されるようになるといいですね。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3