参数:?
-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参数的更多相关文章

  1. android 通过eclipse混淆代码 打包 + proguard 总结

    android应用程序的混淆打包 1 . 在工程文件project.properties中加入下proguard.config=proguard.cfg , 如下所示: target=android- ...

  2. 【转】其实你不知道MultiDex到底有多坑

    遭遇MultiDex 愉快地写着Android代码的总悟君往工程里引入了一个默默无闻的jar然后Run了一下, 经过漫长的等待AndroidStudio构建失败了. 于是带着疑惑查看错误信息. UNE ...

  3. android 混淆配置

    proguard 原理Java代码编译成二进制class 文件,这个class 文件也可以反编译成源代码 ,除了注释外,原来的code 基本都可以看到.为了防止重要code 被泄露,我们往往需要混淆( ...

  4. android MultiDex multidex原理原理下遇见的N个深坑(二)

    android MultiDex 原理下遇见的N个深坑(二) 这是在一个论坛看到的问题,其实你不知道MultiDex到底有多坑. 不了解的可以先看上篇文章:android MultiDex multi ...

  5. android 混淆 与 反编译

    1, 文件 project.properties 修改: target=android-14proguard.config=${sdk.dir}/tools/proguard/proguard-and ...

  6. Cannot merge new index 65781 into a non-jumbo instruction! 问题解决(网上摘抄)

    我的报了这个错 Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.buil ...

  7. Eclipse与Android源码中ProGuard工具的使用

    由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解.下面将自己的 ...

  8. Android proguard 详解

    本文转载于:http://blog.csdn.net/banketree/article/details/41928175 简介 Java代码是非常容易反编译的.为了很好的保护Java源代码,我们往往 ...

  9. ProGuard代码混淆技术详解

    前言     受<APP研发录>启发,里面讲到一名Android程序员,在工作一段时间后,会感觉到迷茫,想进阶的话接下去是看Android系统源码呢,还是每天继续做应用,毕竟每天都是画UI ...

随机推荐

  1. dos 下删除文件、文件夹

    删除文件 /p 删除每一个文件之前提示确认/f 强制删除只读文件 /s 从当前目录及所有子目录删除指定文件/q 安静模式.删除全局通配符时,不要求确认/a 根据属性选择要删除的文件 指定下列文件属性中 ...

  2. BZOJ 1770: [Usaco2009 Nov]lights 燈

    Description 一个图,对一个点进行操作会改变这个点及其相邻的点的状态,问全部变成黑色至少需要几次.数据保证有解. Sol Meet in middle. 我一开始写个高斯消元,发现有两个点过 ...

  3. centos7+redis+php环境配置

    centos7+redis+php环境配置 下载redis(更多版本可到redis官网进行查找) wget http://download.redis.io/releases/redis-3.0.7. ...

  4. GET和POST

    Ajax与Comet 1. Ajax Asynchronous Javascript+xml :能够向服务器请求额外的数据而无需卸载页面. Ajax技术的核心是XMLHttpRequest 对象(简称 ...

  5. WPF三大模板简介(Z)

    WPF三大模板简介   WPF支持以下类型的模板: (1) 控件模板.控件模板可以将自定义模板应用到某一特定类型的所有控件,或是控件的某一实例.决定控件外观的是ControlTemplate,它决定了 ...

  6. SQL实现表名更改,列名更改,约束更改

    修改表名 格式:sp_rename tablename,newtablename sp_rename tablename,newtablename 修改字段名 格式:sp_rename 'tablen ...

  7. virtualbox之usb设备的分配

    来源:http://www.cnblogs.com/fsjohnhuang/p/3987545.html 首先下载安装virtualbox的扩展包,因为box原本不支持usb设备.www.virtua ...

  8. mysql 常用语句

    1,查看索引使用情况的语句: explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explai ...

  9. Day20160425

    技术要求: 1.git使用 pull.push.cheakout.master.clone(本地提交有优势) 2.Maven(依赖init.install.compile.package.clean. ...

  10. Win32中TreeView控件的使用方法,类似于资源管理器中文件树形显示方式

    首先是头文件,内容如下: #include <tchar.h> #include "..\CommonFiles\CmnHdr.h" #include <Wind ...