Skip to content

Instantly share code, notes, and snippets.

@AlburIvan
Created October 28, 2016 18:38
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AlburIvan/e893ebb2355b1cd88917bc4fa17b5508 to your computer and use it in GitHub Desktop.
Save AlburIvan/e893ebb2355b1cd88917bc4fa17b5508 to your computer and use it in GitHub Desktop.
Example of an ProGuard rule file for https://medium.com/p/6e7d626e83a7
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in D:\Android\sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
#
# Add any project specific keep options here:
#
# ----------------------------------------------------------------------------------------------------------
# @string/app_name
# ----------------------------------------------------------------------------------------------------------
#
# Your application's specific proguard entries
-dontwarn com.your.own.app.**
-keep class com.your.own.app.package** { *; }
# ----------------------------------------------------------------------------------------------------------
# Android Support Library V4
# ----------------------------------------------------------------------------------------------------------
#
# @link https://stackoverflow.com/questions/18978706/obfuscate-android-support-v7-widget-gridlayout-issue
-dontnote android.support.**
-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
# ----------------------------------------------------------------------------------------------------------
# Android Support Library V7
# ----------------------------------------------------------------------------------------------------------
#
-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-keep class android.support.v7.internal.** { *; }
-keep interface android.support.v7.internal.** { *; }
# ----------------------------------------------------------------------------------------------------------
# Android Support Design Library
# ----------------------------------------------------------------------------------------------------------
#
# @link http://stackoverflow.com/a/31028536
#
-dontwarn android.support.design.**
-keep class android.support.design.** { *; }
-keep interface android.support.design.** { *; }
-keep public class android.support.design.R$* { *; }
# ----------------------------------------------------------------------------------------------------------
# Google play Licensing
# ----------------------------------------------------------------------------------------------------------
#
# @link http://stackoverflow.com/a/14463528
#
-keep public class com.android.vending.licensing.ILicensingService
-dontnote com.google.vending.licensing.ILicensingService
-dontnote **ILicensingService
# ----------------------------------------------------------------------------------------------------------
# Rxjava
# ----------------------------------------------------------------------------------------------------------
#
# @link https://gist.github.com/kosiara/487868792fbd3214f9c9
#
-keep class rx.schedulers.Schedulers {
public static <methods>;
}
-keep class rx.schedulers.ImmediateScheduler {
public <methods>;
}
-keep class rx.schedulers.TestScheduler {
public <methods>;
}
-keep class rx.schedulers.Schedulers {
public static ** test();
}
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
long producerIndex;
long consumerIndex;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
long producerNode;
long consumerNode;
}
# ----------------------------------------------------------------------------------------------------------
# Google AdMob
# ----------------------------------------------------------------------------------------------------------
#
# http://googleadsdeveloper.blogspot.com/2015/10/proguard-and-admob-mediation.html
#
-keep class com.google.ads.*
-dontwarn com.google.ads.**
-keep class com.google.android.gms.dynamic.zzd.**
-keep class com.google.android.gms.internal.**
-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**
-keep class com.google.ads.mediation.admob.AdMobAdapter {
*;
}
-keep class com.google.ads.mediation.AdUrlAdapter {
*;
}
-keep public class com.google.android.gms.ads.** {
public *;
}
-keep public class com.google.ads.** {
public *;
}
# ----------------------------------------------------------------------------------------------------------
# Requery
# ----------------------------------------------------------------------------------------------------------
#
# @link https://github.com/requery/requery
#
-dontwarn java.lang.FunctionalInterface
-dontwarn java.util.**
-dontwarn java.time.**
-dontwarn javax.annotation.**
-dontwarn javax.cache.**
-dontwarn javax.naming.**
-dontwarn javax.transaction.**
-dontwarn java.sql.**
-dontwarn android.support.**
-dontwarn io.requery.cache.**
-dontwarn io.requery.rx.**
-dontwarn io.requery.android.sqlcipher.**
-dontwarn io.requery.android.sqlitex.**
-keepclassmembers enum io.requery.** {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# ----------------------------------------------------------------------------------------------------------
# Miscs...
# ----------------------------------------------------------------------------------------------------------
#
# @link ...
#
-keep class sun.misc.Unsafe
-dontwarn sun.misc.Unsafe
-keep class org.apache.http.** { *; }
-dontwarn org.apache.http.**
# OKhttp
-dontwarn com.squareup.okhttp.**
-keep class android.net.http.** { *; }
-dontwarn android.net.http.*
# prettytime
-keep class org.ocpsoft.prettytime.i18n.**
-keepnames class ** implements org.ocpsoft.prettytime.TimeUnit
-dontwarn com.caverock.androidsvg.SVGImageView
# libphonenumber
-keep class com.google.i18n.phonenumbers.repackaged.**
-dontwarn com.google.i18n.phonenumbers.repackaged.**
# tutoshowcase
-keep class com.example.tutoshowcase.**
-dontwarn com.example.tutoshowcase.**
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment