android 混淆文件的编写(proguard-rules.pro)
来源:互联网 发布:郭斯特 知乎 编辑:程序博客网 时间:2024/05/19 04:28
-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-dontwarn-dontskipnonpubliclibraryclassmembers-ignorewarnings-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod# 保持 native 方法不被混淆-keepclasseswithmembernames class * { native <methods>;}-keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet);}-keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int);}# 保留Parcelable序列化类不被混淆-keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *;}# 保留Serializable序列化的类不被混淆-keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; !static !transient <fields>; !private <fields>; !private <methods>; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve();}# 对于带有回调函数的onXXEvent、**On*Listener的,不能被混淆-keepclassmembers class * { void *(**On*Event); void *(**On*Listener);}#保持第三方包不混淆-dontwarn com.tencent.**-keep class com.tencent.**{*;}-keep class com.qq.**{*;}-keep class tencent.tls.**{*;}#保持指定包下的类不混淆-keep class nodepp.**{*;}-keep public class com.nodepp.smartnode.helper.**{*;}-keep public class com.nodepp.smartnode.helper.**{*;}-keep public class com.nodepp.smartnode.model.**{*;}-keep public class com.nodepp.smartnode.callback.**{*;}#移除log日志,需要把sdk\tools\proguard目录下的proguard-android.txt文件下的-dontoptimize注释掉才能生效-assumenosideeffects class android.util.Log {public static boolean isLoggable(java.lang.String, int);public static int v(...);public static int i(...);public static int w(...);public static int d(...);public static int e(...);}
android { compileSdkVersion 22 buildToolsVersion '22.0.1' defaultConfig { minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false //false表示不混淆,true表示开启混淆 //Zipalign优化 zipAlignEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug { minifyEnabled false //false表示不混淆,true表示开启混淆 //Zipalign优化 zipAlignEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { abortOnError false }}
打包jar 的话直接在命令行输入gradlew makejar就行,在module下的gradle.build进行配置,混淆文件也是module下的
打包apk进行混淆时直接build整个工程,在app下的gradle.build进行配置,混淆文件也是app下的
阅读全文
0 0
- android 混淆文件的编写(proguard-rules.pro)
- Android Proguard-rules.pro中常用的混淆配置
- 自定义Android混淆规则--proguard-rules.pro
- Android混淆proguard-rules.pro proguard-project.txt
- 代码混淆 proguard-rules.pro
- android 混淆打包-最全proguard-rules.pro
- Android Studio中module配置好的bulid.gradle和混淆proguard-rules.pro
- AndroidStudio proguard-rules.pro混淆 gson
- proguard-rules.pro文件细谈
- proguard-android.txt proguard-rules.pro
- Android Studio 中 proguard-rules.pro 的模版
- Android studio 混淆打包 proguard-rules.pro 与 bulid.gradle 配置总结
- google的gson三方包混淆问题,附上通用proguard-rules.pro
- android:APK混淆中proguard.cfg/proguard-project.text脚本文件的编写知识
- android的Proguard混淆
- Android源码混淆 中 proguard.cfg 或者proguard-android.txt 脚本文件编写知识
- Android 混淆提示 java.io.FileNotFoundException: ...\proguard-rules\release\aapt_rules.txt (系统找不到指定的路径)
- Android 混淆提示 java.io.FileNotFoundException: ...\proguard-rules\release\aapt_rules.txt (系统找不到指定的路径)
- LINUX学习日记(0)--虚拟机安装redhat7
- Chrome学习笔记(三):UI组件,皮肤引擎 —— 控件库
- Dubbo 发布恢复维护后的第一个版本 2.5.4
- 初识Linux
- 关于log4j将不同的业务模块写在不同的日志文件中的办法
- android 混淆文件的编写(proguard-rules.pro)
- matlab保存图像的几种方法
- JAVA实现MD5加密算法(使用MessageDigest)
- 缓存——redis和本地
- java 解析xml的四种方式:sax,dom,dom4j,jdom
- 图像处理实例--基于分水岭分割进行肺癌判断
- hadoop HA环境安装配置
- hdu 4549 M斐波那契数列(费马小定理+矩阵快速幂)
- 动态添加的标签如何调用js事件