Skip to content

Instantly share code, notes, and snippets.

@matsukaz
Last active June 12, 2019 02:16
Show Gist options
  • Save matsukaz/9fe15bde18858fa5854f to your computer and use it in GitHub Desktop.
Save matsukaz/9fe15bde18858fa5854f to your computer and use it in GitHub Desktop.
proguard-project.txt
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
######################################
# Application
######################################
#--------------------
# Keep entry point class
#--------------------
-keep class com.matsukaz.AppActivity { *; }
#--------------------
# Keep native methods
#--------------------
-keep class com.matsukaz.** {
native <methods>;
}
#--------------------
# Keep static method called from JNI
#--------------------
#--------------------
# Keep all cocos2d-x classes
#--------------------
-keep class org.cocos2dx.lib.** { *; }
######################################
# android platform
######################################
#--------------------
# $ANDROID_SDK_ROOT/tools/proguard/proguard-android.txt is refering unknown class
#--------------------
-dontnote com.google.vending.licensing.ILicensingService
-dontnote com.android.vending.licensing.ILicensingService
######################################
# android-support-v4
######################################
#--------------------
# some classes are used for method's descriptor
#--------------------
-keep class android.support.v4.**
#--------------------
# dynamic reference from android.support.v4.text.ICUCompatIcs
#--------------------
-dontnote libcore.icu.ICU
######################################
# Google Play Services SDK
######################################
#--------------------
# http://developer.android.com/google/play-services/setup.html#Proguard
#--------------------
-keep class * extends java.util.ListResourceBundle {
# protected Object[][] getContents(); # modified
protected java.lang.Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
#--------------------
# com.google.android.gms.maps.internal.u
#--------------------
-dontnote com.google.android.gms.maps.internal.CreatorImpl
-dontnote com.google.android.gms.maps.internal.CreatorImplGmm6
######################################
# InMobi
######################################
#--------------------
# https://www.inmobi.com/support/integration/23817448/22051163/android-sdk-integration-guide/
#--------------------
-keep class com.inmobi.** { *; }
-dontwarn com.inmobi.**
#--------------------
# dynamic reference from com.inmobi.monetization.internal.InterstitialAd
#--------------------
-dontnote com.inmobi.monetization.internal.thirdparty.PlayableAdsManager
######################################
# UnityAds
######################################
#--------------------
# dynamic reference from com.unity3d.ads.android.data.UnityAdsDevice
#--------------------
-dontnote android.os.SystemProperties
#--------------------
# dynamic reference from com.unity3d.ads.android.unity3d.UnityAdsUnityWrapper
#--------------------
-dontnote com.unity3d.player.UnityPlayer
#--------------------
# Keep whole packages
#--------------------
-keep class com.unity3d.ads.**{public *;}
######################################
# Millennial Media
######################################
#--------------------
# http://docs.millennialmedia.com/android-SDK/AndroidFAQ.html
#--------------------
-dontwarn com.millennialmedia.android.NVASpeechKit*
-keepclassmembers class com.millennialmedia.android.* {
public *;
}
-keep class com.millennialmedia.android.**
#--------------------
# com.millennialmedia.google.gson.internal.UnsafeAllocator
#--------------------
-dontnote sun.misc.Unsafe
######################################
# In App Billing
######################################
#--------------------
# http://developer.android.com/google/play/billing/billing_best_practices.html#obfuscate
#--------------------
-keep class com.android.vending.billing.**
######################################
# nend
######################################
#--------------------
# http://wiki.ad-stir.com/%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A8%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3SDK%28Android%29%28%E6%97%A7%29
#--------------------
-keep class net.nend.android.** { *; }
######################################
# AdMob
######################################
#--------------------
# https://developers.google.com/mobile-ads-sdk/kb/?hl=ja
#--------------------
-keep public class com.google.android.gms.ads.** {
public *;
}
-keep public class com.google.ads.** {
public *;
}
######################################
# Vungle
######################################
#--------------------
# http://developer.fyber.com/content/android/rewarded-video/adding-networks/vungle/
#--------------------
-keep class com.vungle.** { public *; }
-keep class javax.inject.*
-keepattributes *Annotation*
-keepattributes Signature
-keep class dagger.*
######################################
# AmoAd SDK
######################################
#--------------------
# Keep all Classes
#--------------------
-keep class com.amoad.amoadsdk.** { public *; }
#--------------------
# some classes are used for method's descriptor
#--------------------
-keep class dagger.internal.Linker
-keep class dagger.internal.BindingsGroup
-keep class com.google.android.gms.common.ConnectionResult
-keep class com.jirbo.adcolony.AdColonyV4VCListener
-keep class com.jirbo.adcolony.AdColonyAdListener
-keep class com.jirbo.adcolony.AdColonyV4VCReward
-keep class com.jirbo.adcolony.AdColonyAd
-keep class com.android.volley.VolleyError
######################################
# AWS SDK
######################################
#--------------------
# http://mobile.awsblog.com/post/Tx2OC71PFCTC63E/Using-ProGuard-with-the-AWS-SDK-for-Android
#--------------------
-keep class org.apache.commons.logging.** { *; }
#-keep class com.amazonaws.services.sqs.QueueUrlHandler { *; } # modified
-keep class com.amazonaws.javax.xml.transform.sax.* { public *; }
-keep class com.amazonaws.javax.xml.stream.** { *; }
-keep class com.amazonaws.services.**.model.*Exception* { *; }
-keep class org.codehaus.** { *; }
-keepattributes Signature,*Annotation*
-dontwarn javax.xml.stream.events.**
-dontwarn org.codehaus.jackson.**
-dontwarn org.apache.commons.logging.impl.**
-dontwarn org.apache.http.conn.scheme.**
#--------------------
# http://stackoverflow.com/questions/25284562/proguard-aws-s3-issue
#--------------------
-keep class com.amazonaws.internal.** { *; }
#-keep class org.joda.time.tz.Provider { *; } # modified
#-keep class org.joda.time.tz.NameProvider { *; } # modified
-keepattributes Signature,*Annotation*,EnclosingMethod
-keepnames class com.fasterxml.jackson.** { *; }
-keepnames class com.amazonaws.** { *; }
-dontwarn com.fasterxml.jackson.databind.**
-dontwarn org.apache.http.annotation.**
-dontwarn org.ietf.jgss.**
-dontwarn org.joda.convert.**
-dontwarn org.w3c.dom.bootstrap.**
#--------------------
# dynamic reference from com.amazonaws.metrics.AwsSdkMetrics
#--------------------
-dontnote com.amazonaws.metrics.internal.cloudwatch.DefaultMetricCollectorFactory
#--------------------
# dynamic reference from com.amazonaws.services.s3.internal.crypto.CryptoRuntime
#--------------------
-dontnote org.bouncycastle.jce.provider.BouncyCastleProvider
#--------------------
# dynamic reference from com.amazonaws.AmazonServiceException$ErrorType
#--------------------
#-keep class com.amazonaws.AmazonServiceException*
#--------------------
# com.amazonaws.services.s3.AmazonS3Client needed this
#--------------------
-keep class com.amazonaws.org.apache.commons.logging.** { *; }
#--------------------
# dynamic reference from com.amazonaws.util.json.JacksonFactory$JacksonWriter
# dynamic reference from com.amazonaws.util.json.JacksonFactory$JacksonReader
# dynamic reference from com.amazonaws.util.json.JacksonFactory
#--------------------
-dontwarn com.fasterxml.jackson.core.JsonFactory
-dontwarn com.fasterxml.jackson.core.JsonGenerator
-dontwarn com.fasterxml.jackson.core.JsonToken
-dontwarn com.fasterxml.jackson.core.JsonParser
#--------------------
# dynamic reference from com.amazonaws.org.apache.http.impl.auth.NTLMEngineImpl$NTLMMessage
# dynamic reference from com.amazonaws.org.apache.http.impl.auth.GGSSchemeBase
# dynamic reference from com.amazonaws.org.apache.http.impl.auth.BasicScheme
#--------------------
-dontwarn com.amazonaws.org.apache.commons.codec.binary.Base64
#--------------------
# dynamic reference from com.amazonaws.com.google.gson.internal.UnsafeAllocator
#--------------------
-dontnote sun.misc.Unsafe
######################################
# Amazon In-App Purchasing API
######################################
#--------------------
# https://developer.amazon.com/public/apis/earn/in-app-purchasing/docs/code-obfuscation
#--------------------
-dontwarn com.amazon.**
-keep class com.amazon.** { *; }
-keepattributes *Annotation*
#-dontoptimize # modified
######################################
# Facebook SDK
######################################
#--------------------
# https://developers.facebook.com/docs/android/getting-started
#--------------------
-keep class com.facebook.** { *; }
-keepattributes Signature
#--------------------
# some classes are used for method's descriptor
#--------------------
-keep class bolts.** { *; }
######################################
# Amazon Device Messaging
######################################
#--------------------
# external library
#--------------------
-libraryjars extlibs/amazon-device-messaging-1.0.1.jar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment