Created
October 28, 2016 18:38
-
-
Save AlburIvan/e893ebb2355b1cd88917bc4fa17b5508 to your computer and use it in GitHub Desktop.
Example of an ProGuard rule file for https://medium.com/p/6e7d626e83a7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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