ProGuard修改(增加大小)跳过的类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ProGuard修改(增加大小)跳过的类相关的知识,希望对你有一定的参考价值。
我正在使用ProGuard 5.3.3版混淆可执行jar。
我的jar包含其他我不想混淆或优化的库。
这是我的ProGuard配置:
-libraryjars 'C:Program FilesJavajre1.8.0_131lib
t.jar'
-injars myjar-debug.jar
-outjars myjar-release.jar
-skipnonpubliclibraryclasses
-dontoptimize
-dontshrink
-useuniqueclassmembernames
-keeppackagenames org.**
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
-ignorewarnings
-keep class org.** { *; }
-keepclassmembers class org.** { *; }
-dontwarn org.**
-keepclasseswithmembers public class * {
public static void main(java.lang.String[]);
}
-keepclasseswithmembers class * {
native <methods>;
}
-keepclasseswithmembernames class * {
native <methods>;
}
混淆工作完全正常,执行jar时没有错误。但是,如果我比较原始jar和混淆的jar,我可以看到ProGuard修改了包org.**
中的类。大多数类文件的大小都超过了原始大小。
我不希望ProGuard完全修改这些文件。如何完全排除此包,以便org.**
中类文件的二进制文件完全相同?
答案
我认为你需要调整你的jar构建过程,然后先混淆然后制作可执行jar。
我不确定你是否使用maven / gradle,但与使用命令行相比,这将使你的生活更轻松
以上是关于ProGuard修改(增加大小)跳过的类的主要内容,如果未能解决你的问题,请参考以下文章