关于proguard配置文件的一个笨办法,一次性排除大部分外部依赖
来源:互联网 发布:大型数据机房施工方案 编辑:程序博客网 时间:2024/05/16 14:34
关于proguard这个东西,感觉做的一般般,很多配置很不人性化,容错性差,像个事妈一样总报错,屁大点事就把整个流程挂掉,搞得学习成本很高,实在难以称道。
比如,proguard配置中的keep class 和dontwarn就很变扭,为什么不提供一个only include class或者only warn之类的配置,其实针对大多数app,我们只需要对我们关心的一些类进行混淆就可以了,所以这不是一个排除或者取非的问题。由于这一点,导致我们每次要写一大堆的keep class 和dontwarn,本人分享一种写法(虽然是傻瓜式的笨办法),一种思路,可以一次性排除大部分外部依赖。
思路大概是,如果我们只需要对com.yoyo.brucesharp.app这个包下的类进行proguard,那么可以把其他包名的一律排除掉就可以了,于是就有了下面的模板(写的不是很严谨,重在提供解决问题的思路,大家可以拷走方便备用)。
####外部库-keep class a** { *; }-keep class b** { *; }##c开头不排除-keep class d** { *; }-keep class e** { *; }-keep class f** { *; }-keep class g** { *; }-keep class h** { *; }-keep class i** { *; }-keep class j** { *; }-keep class k** { *; }-keep class l** { *; }-keep class m** { *; }-keep class n** { *; }-keep class o** { *; }-keep class p** { *; }-keep class q** { *; }-keep class r** { *; }-keep class s** { *; }-keep class t** { *; }-keep class u** { *; }-keep class v** { *; }-keep class w** { *; }-keep class x** { *; }-keep class y** { *; }-keep class z** { *; }-keep class com.a** { *; }-keep class com.b** { *; }-keep class com.c** { *; }-keep class com.d** { *; }-keep class com.e** { *; }-keep class com.f** { *; }-keep class com.g** { *; }-keep class com.h** { *; }-keep class com.i** { *; }-keep class com.j** { *; }-keep class com.k** { *; }-keep class com.l** { *; }-keep class com.m** { *; }-keep class com.n** { *; }-keep class com.o** { *; }-keep class com.p** { *; }-keep class com.q** { *; }-keep class com.r** { *; }-keep class com.s** { *; }-keep class com.y** { *; }-keep class com.u** { *; }-keep class com.v** { *; }-keep class com.w** { *; }-keep class com.x** { *; }#com.y开头不排除-keep class com.z** { *; }#单独排除cn开头的-keep class cn** { *; }####dontwarn-dontwarn a**-dontwarn b**-dontwarn d**-dontwarn e**-dontwarn f**-dontwarn g**-dontwarn h**-dontwarn i**-dontwarn j**-dontwarn k**-dontwarn l**-dontwarn m**-dontwarn n**-dontwarn o**-dontwarn p**-dontwarn q**-dontwarn r**-dontwarn s**-dontwarn t**-dontwarn u**-dontwarn v**-dontwarn w**-dontwarn x**-dontwarn y**-dontwarn z**-dontwarn com.a**-dontwarn com.b**-dontwarn com.d**-dontwarn com.e**-dontwarn com.f**-dontwarn com.g**-dontwarn com.h**-dontwarn com.i**-dontwarn com.j**-dontwarn com.k**-dontwarn com.l**-dontwarn com.m**-dontwarn com.n**-dontwarn com.o**-dontwarn com.p**-dontwarn com.q**-dontwarn com.r**-dontwarn com.s**-dontwarn com.t**-dontwarn com.u**-dontwarn com.v**-dontwarn com.w**-dontwarn com.x**-dontwarn com.c**-dontwarn com.z**#单独排除一下cn开头的-dontwarn cn**
0 0
- 关于proguard配置文件的一个笨办法,一次性排除大部分外部依赖
- 关于maven可选依赖和排除依赖的学习
- 关于maven可选依赖和排除依赖的学习
- maven依赖的全局排除
- maven的依赖传递与排除依赖
- 关于MATLAB“一次性”添加工具箱的一个小小问题
- 排除依赖
- Maven依赖排除 禁止依赖传递 取消依赖的方法
- Maven依赖排除 禁止依赖传递 取消依赖的方法
- Maven依赖排除 禁止依赖传递 取消依赖的方法
- Maven依赖排除 禁止依赖传递 取消依赖的方法
- Maven依赖排除 禁止依赖传递 取消依赖的方法
- Maven依赖排除 禁止依赖传递 取消依赖的方法
- Maven依赖排除 禁止依赖传递 取消依赖的方法
- Maven依赖排除 禁止依赖传递 取消依赖的方法
- Maven依赖排除 禁止依赖传递 取消依赖的方法
- Maven依赖排除 禁止依赖传递 取消依赖的方法
- Maven依赖排除、禁止依赖传递、取消依赖的方法
- C++引用原理剖析
- linux信号--阻塞信号
- gcc的参数 -I和-L 的用法
- 2016版---北京赛车pk10平台出租
- LeetCode 82,83 Remove Duplicates from Sorted List I, II解析
- 关于proguard配置文件的一个笨办法,一次性排除大部分外部依赖
- 【NOIP2010提高组】关押罪犯
- ACM入门练习与递推小结
- 在单元格cell中快速简单创建圆角/圆形的的图片imageView
- 自己使用的Android框架
- 二叉搜索树的后序遍历序列
- PCL 不同类型的点云之间进行类型转换
- 进入本网页后自动执行本方法
- FrameLayout