Created
August 8, 2018 03:29
-
-
Save DickSmith/dcae00c3154bfd3f0a8e0e812ca264d6 to your computer and use it in GitHub Desktop.
Proguard for NativeScript
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 /Users/dicksmith/Library/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: | |
# 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 *; | |
#} | |
# Uncomment this to preserve the line number information for | |
# debugging stack traces. | |
#-keepattributes SourceFile,LineNumberTable | |
# If you keep the line number information, uncomment this to | |
# hide the original source file name. | |
#-renamesourcefileattribute SourceFile | |
-dontobfuscate | |
#-dontoptimize | |
#-dontshrink | |
#-dontwarn ** | |
-keepattributes *Annotation*, EnclosingMethod, Exceptions, InnerClasses, LineNumberTable, Signature, SourceFile | |
-keep public class * extends java.lang.Exception | |
######## Proguard warnings | |
-dontwarn javax.annotation.** | |
-dontwarn com.google.zxing.** | |
-dontwarn com.appsflyer.GcmInstanceIdListener | |
-dontwarn com.appsflyer.a | |
# TODO why now? | |
-dontwarn com.appsflyer.y | |
-dontwarn com.yalantis.ucrop.UCropFragment | |
######## Proguard notes | |
-dontnote **.internal.** | |
-dontnote com.appsflyer.a | |
-dontnote com.facebook.share.widget.** | |
-dontnote com.google.**.zz* | |
-dontnote com.google.android.gms.** | |
-dontnote com.google.ads.mediation.** | |
-dontnote com.flask.colorpicker.** | |
-dontnote retrofit2.* | |
######## Found at Runtime - better way to capture these? | |
-keep,includedescriptorclasses public class com.facebook.drawee.controller.AbstractDraweeController** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.login.LoginResult** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.auth.api.signin.GoogleSignInResult** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.auth.api.signin.internal.** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.tasks.Task** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.auth.internal.zze** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.auth.internal.zzh** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.auth.internal.zzk** { public *; } | |
######## android.support PKG search | |
######## android\.support\.(?!media\.ExifInterface|v4|v7) | |
-keep,includedescriptorclasses public class android.support.media.ExifInterface** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.app.ActivityCompat** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.app.NotificationCompat** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.content.ContextCompat** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.content.FileProvider** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.view.AccessibilityDelegateCompat** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.view.GestureDetectorCompat** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.view.NestedScrollingChild** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.view.NestedScrollingParent** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.view.PagerAdapter** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.view.ScrollingView** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.view.ViewCompat** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.view.ViewPager** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.view.ViewPropertyAnimatorCompat** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.view.accessibility.AccessibilityNodeInfoCompat** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.view.animation.PathInterpolatorCompat** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.widget.CompoundButtonCompat** { public *; } | |
-keep,includedescriptorclasses public class android.support.v4.widget.SwipeRefreshLayout** { public *; } | |
-keep,includedescriptorclasses public class android.support.v7.appcompat.R** { public *; } | |
-keep,includedescriptorclasses public class android.support.v7.widget.AppCompatTextView** { public *; } | |
-keep,includedescriptorclasses public class android.support.v7.widget.CardView** { public *; } | |
-keep,includedescriptorclasses public class android.support.v7.widget.GridLayoutManager** { public *; } | |
-keep,includedescriptorclasses public class android.support.v7.widget.LinearLayoutManager** { public *; } | |
-keep,includedescriptorclasses public class android.support.v7.widget.RecyclerView** { public *; } | |
-keep,includedescriptorclasses public class android.support.v7.widget.SearchView** { public *; } | |
-keep,includedescriptorclasses public class android.support.v7.widget.StaggeredGridLayoutManager** { public *; } | |
-keep,includedescriptorclasses public class android.support.v7.widget.Toolbar** { public *; } | |
# [] accessed | |
-keep,includedescriptorclasses public class android.support.v7.widget.AppCompatRadioButton** { public *; } | |
-keep,includedescriptorclasses public class android.support.v7.widget.AppCompatCheckBox** { public *; } | |
######## com.android.billingclient PKG search | |
######## com\.android\.billingclient\.(?!api\.BillingClient|api\.BillingFlowParams|api\.ConsumeResponseListener|api\.Purchase|api\.SkuDetails) | |
-keep,includedescriptorclasses public class com.android.billingclient.api.BillingClient** { public *; } | |
-keep,includedescriptorclasses public class com.android.billingclient.api.BillingFlowParams** { public *; } | |
-keep,includedescriptorclasses public class com.android.billingclient.api.ConsumeResponseListener** { public *; } | |
-keep,includedescriptorclasses public class com.android.billingclient.api.Purchase** { public *; } | |
-keep,includedescriptorclasses public class com.android.billingclient.api.SkuDetails** { public *; } | |
######## com.android.datetimepicker PKG search | |
######## com\.android\.datetimepicker\.(?!Callback|PickerManager) | |
-keep,includedescriptorclasses public class com.android.datetimepicker.Callback** { public *; } | |
-keep,includedescriptorclasses public class com.android.datetimepicker.PickerManager** { public *; } | |
######## com.facebook PKG search | |
######## | |
-keep,includedescriptorclasses public class com.facebook.imagepipeline.animated.base.AnimatedDrawable** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.imagepipeline.core.ImagePipeline** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.imagepipeline.image.ImageInfo** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.imagepipeline.request.ImageRequestBuilder** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.drawee.backends.pipeline.Fresco** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.drawee.controller.ControllerListener** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.drawee.drawable.ProgressBarDrawable** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.drawee.drawable.ScalingUtils** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.drawee.generic.GenericDraweeHierarchyBuilder** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.drawee.generic.RoundingParams** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.drawee.view.SimpleDraweeView** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.common.util.UriUtil** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.FacebookSdk** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.CallbackManager** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.login.LoginManager** { public *; } | |
-keep,includedescriptorclasses public class com.facebook.FacebookCallback** { public *; } | |
######## com.google.android.gms PKG search | |
-keep,includedescriptorclasses public class com.google.android.gms.ads.AdListener** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.ads.AdRequest** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.ads.AdSize** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.ads.AdView** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.ads.MobileAds** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.ads.InterstitialAd** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.ads.mediation.admob.AdMobExtras** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.appinvite.AppInvite** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.auth.api.Auth** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.auth.api.signin.GoogleSignInOptions** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.common.ConnectionResult** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.common.GoogleApiAvailability** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.common.api.GoogleApiClient** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.tasks.OnCompleteListener** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.tasks.OnFailureListener** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.gms.tasks.OnSuccessListener** { public *; } | |
######## com.google.firebase PKG search | |
-keep,includedescriptorclasses public class com.google.firebase.auth.EmailAuthProvider** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.auth.FacebookAuthProvider** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.auth.FirebaseAuth** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.auth.GoogleAuthProvider** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.auth.PhoneAuthProvider** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.auth.UserProfileChangeRequest** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.analytics.FirebaseAnalytics** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.crash.FirebaseCrash** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.database.ChildEventListener** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.database.FirebaseDatabase** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.database.ServerValue** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.database.ValueEventListener** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.dynamiclinks.FirebaseDynamicLinks** { public *; } | |
#-keep,includedescriptorclasses public class com.google.firebase.firestore.** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.iid.FirebaseInstanceId** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.messaging.FirebaseMessaging** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.remoteconfig.FirebaseRemoteConfig** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.storage.FirebaseStore** { public *; } | |
-keep,includedescriptorclasses public class com.google.firebase.storage.OnProgressListener** { public *; } | |
######## GSON | |
-keep,includedescriptorclasses public class !**.internal.**,com.google.gson.** { public *; } | |
######## | |
-keep,includedescriptorclasses class com.tns.** { *; } | |
-keep,includedescriptorclasses public interface com.tns.** { *; } | |
### Your app's package name | |
-keep,includedescriptorclasses class com.YOUR_DOMAIN.** { !private *; } | |
-keep,includedescriptorclasses public interface com.YOUR_DOMAIN.** { *; } | |
######## | |
-keep,includedescriptorclasses public class com.yalantis.ucrop.UCrop** { public *; } | |
######## | |
-keep,includedescriptorclasses public class net.gotev.uploadservice.** { *; } | |
-keep,includedescriptorclasses public enum net.gotev.uploadservice.** { *; } | |
######## | |
-keep,includedescriptorclasses public class com.pusher.client.** { public *; } | |
######## | |
-keep,includedescriptorclasses class org.nativescript.** { !private *; } | |
######## Camera Plus | |
-keep,includedescriptorclasses public class io.nstudio.** | |
######## Telerik UI | |
-keep,includedescriptorclasses public class com.telerik.widget.list.CollapsibleGroupsBehavior** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.CurrentPositionChangeListener** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.DeckOfCardsLayoutManager** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.FadeItemAnimator** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.ItemReorderBehavior** { public *; } | |
#com.telerik.widget.list.ListView[^ABDGHIW] | |
-keep,includedescriptorclasses public class com.telerik.widget.list.ListView** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.LoadOnDemandBehavior** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.PerspectiveChangeInfo** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.RadListView** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.Re** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.Sc** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.Se** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.Sl** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.Sn** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.widget.list.Sw** { public *; } | |
-keep,includedescriptorclasses public class com.telerik.android.primitives.** { public *; } | |
######## ShowCase CoachMarks | |
# removed since not used right now however may bring back in Spring 2018 | |
# -keep,includedescriptorclasses public class com.github.amlcurran.showcaseview.** { public *; } | |
######## YouTube | |
-keep,includedescriptorclasses public class com.google.android.youtube.player.YouTubePlayer** { public *; } | |
######## ExoPlayer | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.DefaultLoadControl** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.ExoPlayer** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.Format** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.SimpleExoPlayer** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.source.ExtractorMediaSource** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.source.MediaSource** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.source.MergingMediaSource** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.source.SingleSampleMediaSource** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.source.dash.DashMediaSource** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.source.hls.HlsMediaSource** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.trackselection.DefaultTrackSelector** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.ui.PlaybackControlView** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.ui.SubtitleView** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.upstream.DefaultDataSourceFactory** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.util.Util** { public *; } | |
-keep,includedescriptorclasses public class com.google.android.exoplayer2.util.MimeTypes** { public *; } | |
######## Zendesk | |
-keep,includedescriptorclasses public class com.zendesk.sdk.feedback.ZendeskFeedbackConfiguration** { public *; } | |
-keep,includedescriptorclasses public class com.zendesk.sdk.feedback.ui.ContactZendeskActivity** { public *; } | |
-keep,includedescriptorclasses public class com.zendesk.sdk.model.access.AnonymousIdentity** { public *; } | |
-keep,includedescriptorclasses public class com.zendesk.sdk.model.access.JwtIdentity** { public *; } | |
-keep,includedescriptorclasses public class com.zendesk.sdk.model.helpcenter.SimpleArticle** { public *; } | |
-keep,includedescriptorclasses public class com.zendesk.sdk.network.impl.ZendeskConfig** { public *; } | |
-keep,includedescriptorclasses public class com.zendesk.sdk.support.SupportActivity** { public *; } | |
-keep,includedescriptorclasses public class com.zendesk.sdk.support.ViewArticleActivity** { public *; } | |
######## FeedPlugin | |
-keep,includedescriptorclasses public class com.tapadoo.alerter.Alerter** { public *; } | |
######## Plugins using Butterknife | |
# Retain generated class which implement Unbinder. | |
-keep public class * implements butterknife.Unbinder { public <init>(**, android.view.View); } | |
# Prevent obfuscation of types which use ButterKnife annotations since the simple name | |
# is used to reflectively look up the generated ViewBinding. | |
-keep class butterknife.* | |
-keepclasseswithmembernames class * { @butterknife.* <methods>; } | |
-keepclasseswithmembernames class * { @butterknife.* <fields>; } | |
######## AppsFlyer | |
-keep,includedescriptorclasses public class com.appsflyer.AppsFlyerLib** { public *; } | |
#-keep class com.crashlytics.** { *; } | |
#-dontwarn com.crashlytics.** |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment