Proguard参数
参数:?
-include?{filename}?从给定的文件中读取配置参数?
-basedirectory?{directoryname}?指定基础目录为以后相对的档案名称?
-injars?{class_path}?指定要处理的应用程序jar,war,ear和目录?
-outjars?{class_path}?指定处理完后要输出的jar,war,ear和目录的名称?
-libraryjars?{classpath}?指定要处理的应用程序jar,war,ear和目录所需要的程序库文件?
-dontskipnonpubliclibraryclasses?指定不去忽略非公共的库类。?
-dontskipnonpubliclibraryclassmembers?指定不去忽略包可见的库类的成员。
保留选项:?
-keep?{Modifier}?{class_specification}?保护指定的类文件和类的成员?
-keepclassmembers?{modifier}?{class_specification}?保护指定类的成员,如果此类受到保护他们会保护的更好?
-keepclasseswithmembers?{class_specification}?保护指定的类和类的成员,但条件是所有指定的类和类成员是要存在。?
-keepnames?{class_specification}?保护指定的类和类的成员的名称(如果他们不会压缩步骤中删除)?
-keepclassmembernames?{class_specification}?保护指定的类的成员的名称(如果他们不会压缩步骤中删除)?
-keepclasseswithmembernames?{class_specification}?保护指定的类和类的成员的名称,如果所有指定的类成员出席(在压缩步骤之后)
-printseeds?{filename}?列出类和类的成员-keep选项的清单,标准输出到给定的文件
压缩:?
-dontshrink?不压缩输入的类文件?-printusage?{filename}?
-whyareyoukeeping?{class_specification}?
优化:?
-dontoptimize?不优化输入的类文件?
-assumenosideeffects?{class_specification}?优化时假设指定的方法,没有任何副作用?
-allowaccessmodification?优化时允许访问并修改有修饰符的类和类的成员
混淆:?
-dontobfuscate?不混淆输入的类文件?-printmapping?{filename}?
-applymapping?{filename}?重用映射增加混淆?
-obfuscationdictionary?{filename}?使用给定文件中的关键字作为要混淆方法的名称?
-overloadaggressively?混淆时应用侵入式重载?
-useuniqueclassmembernames?确定统一的混淆类的成员名称来增加混淆?
-flattenpackagehierarchy?{package_name}?重新包装所有重命名的包并放在给定的单一包中
-repackageclass?{package_name}?重新包装所有重命名的类文件中放在给定的单一包中?
-dontusemixedcaseclassnames?混淆时不会产生形形色色的类名?
-keepattributes?{attribute_name,...}?保护给定的可选属性,
例如LineNumberTable,?LocalVariableTable,?SourceFile,?Deprecated,?Synthetic,?Signature,?and?InnerClasses?
-renamesourcefileattribute?{string}?设置源文件中给定的字符串常量
Proguard参数的更多相关文章
- android 通过eclipse混淆代码 打包 + proguard 总结
android应用程序的混淆打包 1 . 在工程文件project.properties中加入下proguard.config=proguard.cfg , 如下所示: target=android- ...
- 【转】其实你不知道MultiDex到底有多坑
遭遇MultiDex 愉快地写着Android代码的总悟君往工程里引入了一个默默无闻的jar然后Run了一下, 经过漫长的等待AndroidStudio构建失败了. 于是带着疑惑查看错误信息. UNE ...
- android 混淆配置
proguard 原理Java代码编译成二进制class 文件,这个class 文件也可以反编译成源代码 ,除了注释外,原来的code 基本都可以看到.为了防止重要code 被泄露,我们往往需要混淆( ...
- android MultiDex multidex原理原理下遇见的N个深坑(二)
android MultiDex 原理下遇见的N个深坑(二) 这是在一个论坛看到的问题,其实你不知道MultiDex到底有多坑. 不了解的可以先看上篇文章:android MultiDex multi ...
- android 混淆 与 反编译
1, 文件 project.properties 修改: target=android-14proguard.config=${sdk.dir}/tools/proguard/proguard-and ...
- Cannot merge new index 65781 into a non-jumbo instruction! 问题解决(网上摘抄)
我的报了这个错 Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.buil ...
- Eclipse与Android源码中ProGuard工具的使用
由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解.下面将自己的 ...
- Android proguard 详解
本文转载于:http://blog.csdn.net/banketree/article/details/41928175 简介 Java代码是非常容易反编译的.为了很好的保护Java源代码,我们往往 ...
- ProGuard代码混淆技术详解
前言 受<APP研发录>启发,里面讲到一名Android程序员,在工作一段时间后,会感觉到迷茫,想进阶的话接下去是看Android系统源码呢,还是每天继续做应用,毕竟每天都是画UI ...
随机推荐
- dos 下删除文件、文件夹
删除文件 /p 删除每一个文件之前提示确认/f 强制删除只读文件 /s 从当前目录及所有子目录删除指定文件/q 安静模式.删除全局通配符时,不要求确认/a 根据属性选择要删除的文件 指定下列文件属性中 ...
- BZOJ 1770: [Usaco2009 Nov]lights 燈
Description 一个图,对一个点进行操作会改变这个点及其相邻的点的状态,问全部变成黑色至少需要几次.数据保证有解. Sol Meet in middle. 我一开始写个高斯消元,发现有两个点过 ...
- centos7+redis+php环境配置
centos7+redis+php环境配置 下载redis(更多版本可到redis官网进行查找) wget http://download.redis.io/releases/redis-3.0.7. ...
- GET和POST
Ajax与Comet 1. Ajax Asynchronous Javascript+xml :能够向服务器请求额外的数据而无需卸载页面. Ajax技术的核心是XMLHttpRequest 对象(简称 ...
- WPF三大模板简介(Z)
WPF三大模板简介 WPF支持以下类型的模板: (1) 控件模板.控件模板可以将自定义模板应用到某一特定类型的所有控件,或是控件的某一实例.决定控件外观的是ControlTemplate,它决定了 ...
- SQL实现表名更改,列名更改,约束更改
修改表名 格式:sp_rename tablename,newtablename sp_rename tablename,newtablename 修改字段名 格式:sp_rename 'tablen ...
- virtualbox之usb设备的分配
来源:http://www.cnblogs.com/fsjohnhuang/p/3987545.html 首先下载安装virtualbox的扩展包,因为box原本不支持usb设备.www.virtua ...
- mysql 常用语句
1,查看索引使用情况的语句: explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explai ...
- Day20160425
技术要求: 1.git使用 pull.push.cheakout.master.clone(本地提交有优势) 2.Maven(依赖init.install.compile.package.clean. ...
- Win32中TreeView控件的使用方法,类似于资源管理器中文件树形显示方式
首先是头文件,内容如下: #include <tchar.h> #include "..\CommonFiles\CmnHdr.h" #include <Wind ...