之前对项目混淆一直了解不是很透,趁着打包正式项目的时候有特意的去了解了一番,做些记录,备忘!

-optimizationpasses 5

-dontusemixedcaseclassnames

-dontskipnonpubliclibraryclasses

-dontpreverify

-verbose

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-keepattributes Signature

-keep class android.support.v4.** { *; }

-ignorewarnings

-dontwarn android.support.**

-keepattributes EnclosingMetho

-keepclassmembers class * {

public (org.json.JSONObject);

}

-assumenosideeffects class android.util.Log {

public static *** d(...);

public static *** v(...);

public static *** i(...);

public static *** w(...);

public static *** e(...);

}

-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.content.ContentProvider # 保持哪些类不被混淆

-keep public class * extends android.app.backup.BackupAgentHelper # 保持哪些类不被混淆

-keep public class * extends android.preference.Preference # 保持哪些类不被混淆

-keep public class com.android.vending.licensing.ILicensingService # 保持哪些类不被混淆

# 过滤R文件的混淆:

-keep class **.R$* {*;}

# 所有方法不进行混淆

-keep public abstract interface com.huawei.android.airsharing.listener{

public protected ;

}

-keep public abstract interface com.huawei.android.airsharing.api{

public protected ;

}

-keepclasseswithmembernames class * { # 保持 native 方法不被混淆

native ;

}

-keepclasseswithmembers class * { # 保持自定义控件类不被混淆

public (android.content.Context, android.util.AttributeSet);

}

-keepclasseswithmembers class * {

public (android.content.Context, android.util.AttributeSet, int); # 保持自定义控件类不被混淆

}

-keepclassmembers class * extends android.app.Activity { # 保持自定义控件类不被混淆

public void *(android.view.View);

}

-keepclassmembers enum * { # 保持枚举 enum 类不被混淆

public static **[] values();

public static ** valueOf(java.lang.String);

}

-keep class * implements android.os.Parcelable { # 保持 Parcelable 不被混淆

public static final android.os.Parcelable$Creator *;

}

#gson

-keep class **.bean.** { *; }

#webview

-keepclassmembers class fqcn.of.javascript.interface.for.webview {

public *;

}

#databinding

-dontwarn android.databinding.**

-keep class android.databinding.** { *; }

# OkHttp3

-dontwarn com.squareup.okhttp3.**

-keep class com.squareup.okhttp3.** { *;}

-dontwarn okio.**

# Okio

-dontwarn com.squareup.**

-dontwarn okio.**

-keep public class org.codehaus.* { *; }

-keep public class java.nio.* { *; }

# retrofit

-dontwarn okio.**

-dontwarn javax.annotation.**

#支付

-keep class com.alipay.android.app.IAlixPay{*;}

-keep class com.alipay.android.app.IAlixPay$Stub{*;}

-keep class com.alipay.android.app.IRemoteServiceCallback{*;}

-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}

-keep class com.alipay.sdk.app.PayTask{ public *;}

-keep class com.alipay.sdk.app.AuthTask{ public *;}

#rx

-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;

}

-dontnote rx.internal.util.PlatformDependent

#eventBus

-keepattributes *Annotation*

-keepclassmembers class ** {

@org.greenrobot.eventbus.Subscribe ;

}

-keep enum org.greenrobot.eventbus.ThreadMode { *; }

# Only required if you use AsyncExecutor

-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {

(Java.lang.Throwable);

}

#项目本身

#-keep class com.tecsun.mobileintegration.** {*;}

#-keep public class com.tecsun.base.** { *; }

#-keep public class com.tecsun.tsb.network.** { *; }

#-keep public class com.andview.refreshview.** { *; }

参考文章

android 打包 混淆配置_android 实际项目中混淆文件的配置(参考做法)相关推荐

  1. java web配置dll文件_JavaWeb项目中dll文件动态加载方法解析(详细步骤)

    相信很多做Java的朋友都有过用Java调用JNI实现调用C或C++方法的经历,那么Java Web中又如何实现DLL/SO文件的动态加载方法呢.今天就给大家带来一篇JAVA Web项目中DLL/SO ...

  2. Android:Android NDK项目中C++文件中打印日志

    Android NDK项目中C++文件中打印日志 工作需要,在NDK项目中的C++文件中打印日志,还是费了点劲查找 才达到自己 想要的效果了. 步骤 添加头文件 添加头文件 定义宏函数 #includ ...

  3. maven 打包数据库加密_SpringBoot项目application.yml文件数据库配置密码加密的方法...

    在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明文,数据库就直接暴露了,相当于"裸奔"了 ...

  4. Springboot项目打包发布找不到项目中使用的文件

    项目在启动后读取项目中某些文件的内容,在编译工具下运行是可以的,但是打成jar包后却运行异常问题. 原因:jar包中的文件不能以 File的形式返回,可以让文件以流的形式返回. InputStream ...

  5. (转) eclipse项目中.classpath文件详解

    背景:对于java项目中.classpath文件中的相关定义一直不是很了解,有必要进行深入的学习. 1 前言 在使用eclipse或者myeclipse进行Java项目开发的时候,每个project( ...

  6. java调用项目中的文件_详解eclipse项目中.classpath文件的使用

    1 前言 在使用eclipse或者myeclipse进行java项目开发的时候,每个project(工程)下面都会有一个.classpath文件,那么这个文件究竟有什么作用? 2 作用 .classp ...

  7. C#项目中一些文件类型说明

    C#项目中一些文件类型说明 designer.cs 是窗体设计器生成的代码文件,作用是对窗体上的控件做初始化工作(在函数InitializeComponent()中)VS2003以前都把这部分代码放到 ...

  8. springboot项目中pom文件parent报错的解决方法

    springboot项目中pom文件parent报错的解决方法 1:首先配置maven环境 2:修改maven的settings.xml文件 3:用编辑器修改settings文件 4:设置Eclips ...

  9. ide项目文件夹浅黄色编写代码无提示或看不到项目中的文件夹

    JetBrains ide全家桶ide都可能出现此情况,项目文件左上角选择为项目时不展示src等包/文件夹,只有选择Project Files时才会显示项目中的文件夹,一般出现此情况都是因为进行了删除 ...

最新文章

  1. OpenCV环境下Laplace(拉普拉斯)和Roberts基本边缘检测算子的实现代码
  2. Windows下Python环境搭建
  3. 【热点】黑客入侵的常用手段及防护措施分析
  4. C/Cpp / 设计模式 / 简单工厂模式
  5. Java线程之守护线程(Daemon) .
  6. SorterBot-第1部分
  7. python整数类型进制表示_Python数据类型--整型
  8. uni-app中的数据绑定
  9. mpvue 微信小程序设置背景音乐
  10. 【爱加密】防止签名破解
  11. 批量打印word文档_如何安排打印Word 2007+文档
  12. IT程序员常去的论坛、社区、网站有哪些?
  13. 彩信SMIL文件解析
  14. STM32CUBEMX 配置12脚3641BS以及串口显示RTC时间
  15. 游戏联网必备: 国内外实时对战服务详细对比
  16. 2021年芯片产业发展的五大关键词
  17. 环信IM (二)添加 删除
  18. SAP MM ME57 把PR转成PO
  19. delphi中增加FastMM4有效管理你的内存使用
  20. Day53 Linux setitimer函数 信号集操作函数 信号捕捉 SIGCHLD信号

热门文章

  1. 基于Mean-shift算法跟踪对象
  2. 基于OpenCV实战的图像处理:色度分割
  3. 基于K-Means聚类算法的主颜色提取
  4. 摆动排序leetcode324
  5. springMVC 使用WebApplicationContext获取ApplicationContext对象
  6. 用CSS在博客园底部加上蒲公英动态效果的实现方法
  7. canvas-绘制矩形-读书笔记
  8. java中关于时间的计算
  9. php中instanceof的使用
  10. [转载] 钢铁是怎样炼成的——第一部第二章