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 ...
随机推荐
- 深入理解使用ListView时ArrayAdapter、SimpleAdapter、BaseAdapter的原理
在使用ListView的时候,我们传给setAdapter方法的Adapter通常是ArrayAdapter.SimpleAdapter.BaseAdapter,但是这几个Adapter内部究竟是什么 ...
- Linux学习之一--VI编辑器的基本使用
vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器.可是会用的有多少呢.下面介绍一下vi编辑器的简单用法和部分命令.让你在Linux系统中畅行无阻. 基本上vi可以分为三种状态 ...
- centos7.0安装后ifconfig无法使用
由于使用的最小化安装,需要安装net-tools 输入如下命令: #yum install -y net-tools 即可
- 用 nssm 把 Nginx 安装成 Windows 服务方法
总之:用 nssm 比 srvany.exe 简便多了.1. 下载nginx windows版本:http://nginx.org/ 2. 下载 nssm :http://nssm.cc/3. 安装N ...
- 安装KB3132372补丁后,WIN10中IE内核加载flash崩溃
今天(2015年12月30日)突然很多人反馈在WIN10上IE内核的PC端应用崩溃.经过一番查找,最终定位到问题.WIN10今天发布了新的补丁KB3132372,64位系统更新该补丁后,打开IE内核的 ...
- .NET LINQ标准查询运算符
标准查询运算符概述 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法. 大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了 IEnumerable<T> ...
- <select> 默认选中
不多bb,直接上代码 html代码: <li><span>所属类别</span> <select id="cate" name=" ...
- 配置使用EF常见的一些问题及解决方案
转自http://www.2cto.com/database/201511/449573.html 提示未注册,找不到驱动程序 No Entity Framework provider found f ...
- CentOS7安装Oracle 11gR2 安装
概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...
- UVA766 Sum of powers(1到n的自然数幂和 伯努利数)
自然数幂和: (1) 伯努利数的递推式: B0 = 1 (要满足(1)式,求出Bn后将B1改为1 /2) 参考:https://en.wikipedia.org/wiki/Bernoulli_numb ...