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 ...
随机推荐
- python虚拟机中的异常流控制
异常:对程序运行中的非正常情况进行抽象.并且提供相应的语法结构和语义元素,使得程序员能够通过这些语法结构和语义元素来方便地描述异常发生时的行为. 1.Python中的异常机制: 1.1Python虚拟 ...
- 安装第三方模块方法和requests
如何安装第三方模块 pip3 pip3 install xxxx 源码 下载,解压 进入目录 python setup.py inst ...
- WebAPI返回数据类型
最近开始使用WebAPI,上手很容易,然后有些疑惑 1.WebAPI默认返回什么数据类型,json还是xml? 2.怎么修改WebAPI的返回数据类型,我用IE浏览器请求返回的数据都是JSON格式的, ...
- cf596d
题意:有一排等高的树木,高度都为h.给出每棵树在数轴上的坐标,每次有可能是最左边或者最右边的立着的树倒下,概率都是0.5.最终所有树都倒下.每棵树在倒下的时候有p的概率向左倒,1-p的概率向右倒.如果 ...
- 数据库基础和JDBC
一SQL查询 练习: 1.在grade表中查找80-90分的学生学号和分数 select studentid 学号,score 分数 form grade where socre between 80 ...
- 定时刷新之setTimeout(只一次)和setInterval(间隔相同时间)的使用
setTimeout和setInterval的使用 这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript.不过两者各有各的应用场景. 方 法 实际上,setTimeout和setIn ...
- 关于kali2.0rolling中metasploit升级后无法启动问题的解决总结
最近在学习metasploit的使用,文中提到可以使用msfupdate命令来对metasploit的payload.exploit等进行升级,我就试了一下,没想到升级过程并不麻烦,但升级后却出现了无 ...
- js脚本语言
alert(): 输出 字符串 转成整数 parseint(字符串):运算符与表达式% 取余 aler(10%2)余0 逻辑运算符&&并 ||或 !非 判断条件比较运算符== 等于 ! ...
- WdatePicker.js开始日期和结束日期比较
jQuery.validator.addMethod("endDate", function(value, element) { var start ...
- EventBus 二
前一篇简单演示了EventBus的onEventMainThread()函数的接收,其实EventBus还有另外有个不同的函数,他们分别是: 1.onEvent2.onEventMainThread3 ...