Android 常用开源库混淆配置

通常不混淆的类
-keep public class * extends android.app.Fragment
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.preference.Preference
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.support.v4.**
-keep public class * extends android.support.annotation.**
-keep public class * extends android.support.v7.**



1、友盟统计
#友盟统计
-keepclassmembers class * {
   public <init> (org.json.JSONObject);
}

2、友盟推送

#友盟推送
-dontwarn com.taobao.**
-dontwarn anet.channel.**
-dontwarn anetwork.channel.**
-dontwarn org.android.**
-dontwarn org.apache.thrift.**
-dontwarn com.xiaomi.**
-dontwarn com.huawei.**
-dontwarn com.ta.**


-keep class com.taobao.** {*;}
-keep class org.android.** {*;}
-keep class anet.channel.** {*;}
-keep class com.umeng.** {*;}
-keep class com.xiaomi.** {*;}
-keep class com.huawei.** {*;}
-keep class org.apache.thrift.** {*;}

-keep class com.alibaba.sdk.android.**{*;}
-keep class com.ut.**{*;}
-keep class com.ta.**{*;}

3、小米push

-keepclasseswithmembernames class com.xiaomi.**{*;}
-keep public class * extends com.xiaomi.mipush.sdk.PushMessageReceiver
-dontwarn com.xiaomi.push.**

4、RxJava /RxAndroid

-dontwarn sun.misc.**
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
   long producerIndex;
   long consumerIndex;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
    rx.internal.util.atomic.LinkedQueueNode producerNode;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
    rx.internal.util.atomic.LinkedQueueNode consumerNode;
}

5、butterknife

#butterknife
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewBinder { *; }
-keepclasseswithmembernames class * {
    @butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
    @butterknife.* <methods>;
}

6、GreenDao
-keep class de.greenrobot.dao.** {*;}
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class **$Properties

7、EventBus
-keepclassmembers class ** {
    @org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }

# Only required if you use AsyncExecutor
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
    <init>(java.lang.Throwable);
}

8、Glide

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

9、Okhttp
-dontwarn com.squareup.okhttp3.**
-keep class com.squareup.okhttp3.** { *;}
-dontwarn okio.**

10、Gson

-keepattributes Signature-keepattributes *Annotation*
-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.stream.** { *; }
# Application classes that will be serialized/deserialized over Gson 下面替换成自己的实体类
-keep class com.example.bean.** { *; }

11、retrofit2
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions




This library aims to overcome the limitations of Toasts and Snackbars, while reducing the complexity of your layouts.A customisable Alert view is dynamically added to the Decor View of the Window, overlaying all content.Gradledependencies {     implementation 'com.tapadoo.android:alerter:2.0.4'}UsageWith simplicity in mind, the Alerter employs the builder pattern to facilitate easy integration into any app.From an Activity -Alerter.create(this)        .setTitle("Alert Title")        .setText("Alert text...")        .show();Or from a Fragment -Alerter.create(getActivity())        .setTitle("Alert Title")        .setText("Alert text...")        .show();To check if an alert is showing -Alerter.isShowing();To hide a currently showing Alert -Alerter.hide();CustomisationBackground ColourAlerter.create(this)        .setTitle("Alert Title")        .setText("Alert text...")        .setBackgroundColorRes(R.color.colorAccent) // or setBackgroundColorInt(Color.CYAN)        .show();IconAlerter.create(this)        .setText("Alert text...")        .setIcon(R.drawable.alerter_ic_mail_outline)        .setIconColorFilter(0) // Optional - Removes white tint        .show();On screen duration, in millisecondsAlerter.create(this)        .setTitle("Alert Title")        .setText("Alert text...")        .setDuration(10000)        .show();Without titleAlerter.create(this)        .setText("Alert text...")        .show();Adding an On Click Listener Alerter.create(ExampleActivity.this)         .setTitle("Alert Title")         .setText("Alert text...")         .setDuration(10000)         .setOnClickListener(new View.OnClickListener() {                         @Override             public void onClick(View view) {                                 Toast.makeText(ExampleActivity.this, "OnClick Called", Toast.LENGTH_LONG).show();             }         })         .show();Verbose text Alerter.create(ExampleActivity.this)         .setTitle("Alert Title")         .setText("The alert scales to accommodate larger bodies of text. "                   "The alert scales to accommodate larger bodies of text. "                   "The alert scales to accommodate larger bodies of text.")         .show();Visibility Callbacks Alerter.create(ExampleActivity.this)         .setTitle("Alert Title")         .setOnShowListener(new OnShowAlertListener() {                      @Override             public void onShow() {                                 Toast.makeText(ExampleActivity.this, "Alert Shown", Toast.LENGTH_LONG).show();             }         })         .setOnHideListener(new OnHideAlertListener() {                         @Override             public void onHide() {                                 Toast.makeText(ExampleActivity.this, "Alert Hidden", Toast.LENGTH_LONG).show();             }          })         .show();Custom Fonts and Text Appearance Alerter.create(ExampleActivity.this)                 .setTitle("Alert Title")                 .setTitleAppearance(R.style.AlertTextAppearance_Title)                 .setTitleTypeface(Typeface.createFromAsset(getAssets(), "Pacifico-Regular.ttf"))                 .setText("Alert text...")                 .setTextAppearance(R.style.AlertTextAppearance_Text)                 .setTextTypeface(Typeface.createFromAsset(getAssets(), "ScopeOne-Regular.ttf"))                 .show();Swipe to Dismiss Alerter.create(ExampleActivity.this)                 .setTitle("Alert Title")                 .setText("Alert text...")                 .enableSwipeToDismiss()                 .show();Progress BarAlerter.create(ExampleActivity.this)                 .setTitle("Alert Title")                 .setText("Alert text...")                 .enableProgress(true)                 .setProgressColorRes(R.color.colorAccent)                 .show();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值