Android Proguard设置
来源:互联网 发布:知寨多大的官 编辑:程序博客网 时间:2024/05/07 17:15
- # -------------------------------------
- # android 原始混淆模板
- # -------------------------------------
- # ----------------------------------
- # 通过指定数量的优化能执行
- # -optimizationpasses n
- # ----------------------------------
- -optimizationpasses 5
- # ----------------------------------
- # 混淆时不会产生形形色色的类名
- # -dontusemixedcaseclassnames
- # ----------------------------------
- #-dontusemixedcaseclassnames
- # ----------------------------------
- # 指定不去忽略非公共的库类
- # -dontskipnonpubliclibraryclasses
- # ----------------------------------
- #-dontskipnonpubliclibraryclasses
- # ----------------------------------
- # 不预校验
- # -dontpreverify
- # ----------------------------------
- # -dontpreverify
- # ----------------------------------
- # 输出生成信息
- # -verbose
- # ----------------------------------
- -verbose
- # ----------------------------------
- # 优化选项
- # optimizations {optimization_filter}
- # ----------------------------------
- -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
- -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
- -keepclasseswithmembernames class * {
- native <methods>;
- }
- # -----------------
- # modify 修改合并
- # -----------------
- -keep public class * extends android.view.View {
- public <init>(android.content.Context);
- public <init>(android.content.Context, android.util.AttributeSet);
- public <init>(android.content.Context, android.util.AttributeSet, int);
- public void set*(...);
- }
- -keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- -keep class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator *;
- }
- #--------------------------
- # 保护类型 -keepattributes 说明
- # Exceptions, Signature, Deprecated, SourceFile, SourceDir, LineNumberTable, LocalVariableTable,
- # LocalVariableTypeTable, Synthetic, EnclosingMethod, RuntimeVisibleAnnotations, RuntimeInvisibleAnnotations,
- # RuntimeVisibleParameterAnnotations, RuntimeInvisibleParameterAnnotations, and AnnotationDefault
- # --------------------
- -keepattributes **
- -libraryjars <java.home>/lib/rt.jar
- # ----------------------
- # 不压缩指定的文件
- # -dontshrink
- # ----------------------
- -dontshrink
- # ----------------------
- # 不优化指定的文件
- # -dontoptimize
- # -----------------------
- -dontoptimize
- # -----------------------
- # 不混淆指定的文件
- # -dontobfuscate
- # -----------------------
- # ----- 混淆包路径 -------
- -repackageclasses ''
- -flattenpackagehierarchy ''
- -target 1.6
- # -------- 以下是使用了 roboguice-1.1.2.jar 以及 guice-2.0-no_app.jar 功能需要保护的字段及类相关 --------
- -keep class com.google.inject.Binder
- -keepclassmembers class * {
- @com.google.inject.Inject <init>(...);
- }
- -keepclassmembers class * {
- void *(**On*Event);
- }
- -keepclassmembers class **.R$* {
- public static <fields>;
- }
- # ------ 编译时需要用到的 jar 包
- -libraryjars D:/dev_rc/android-sdk-windows/add-ons/addon_google_apis_google_inc_11/libs/maps.jar
- # ------ 保护 谷歌第三方 jar 包,界面特效 ----------
- -keep class android.support.v4.**
- -dontwarn android.support.v4.**
- # ------ 保护百度地址jar包 --------
- -keep class com.baidu.mapapi.** { *; }
- -dontwarn com.baidu.mapapi.**
- # --- 打包时忽略以下类的警告 --
- -dontwarn com.classpackage.AA
- #-keepnames class * implements java.io.Serializable
- # ---------保护所有实体中的字段名称----------
- -keepclassmembers class * implements java.io.Serializable {
- <fields>;
- }
- # --------- 保护类中的所有方法名 ------------
- -keepclassmembers class * {
- public <methods>;
- }
总结:
无非就是要保护一些反射实现的逻辑,还有如果调用到外部接口(如hessian实现的)时方法名需要保护。
转自:http://huangyuan.iteye.com/blog/1472732
0 0
- Android Proguard设置
- Android & proguard
- android proguard
- android proguard
- android proguard
- Android ProGuard
- Android Proguard
- android proguard
- android proguard
- 【Proguard】android 中 Proguard 使用
- proguard-android.txt proguard-rules.pro
- android 代码混淆proguard
- Android Java混淆(ProGuard)
- Android Java混淆(ProGuard)
- android 混淆器(ProGuard)
- Proguard混淆器Android
- android 混淆器(ProGuard)
- Android proguard.flags
- SQL基础--抑制重复数据
- hadoop任务监控页面namenode:50030(在hadoop配置中查找集群jobtracker的ip,访问50030)
- Android ApiDemos 学习 Graphics->SensorTest
- Alpha 和beta的区别
- android 对话框的封装
- Android Proguard设置
- JSON-lib框架,转换JSON、XML不再困难
- 【centos6,2】centos6 系统 :磁盘,分区,MBR,GPT
- 用人话解释比特币原理
- Eclipse快捷键
- 用Fat Jar 插件打包可执行jar文件
- 山东理工大学ACM平台题答案关于C语言 1184 C语言实验——拍皮球
- 二维数组的列排序
- C语言中应该避免构造复杂的前缀后缀表达式