详情介绍
ProGuard是一款免费的Java类文件的压缩、优化、混肴器。它删除没有用的类,字段,方法与属性。使字节码最大程度地优化,使用简短且无意义的名字来重命名类、字段和方法 。eclipse已经把Proguard集成在一起了。
使用方法:
1.下载proguard
2.准备好你的jar包,我在这里举例叫做test.jar。
3.解压proguard,执行 bin目录下的proguardgui.bat。

4.运行如图,点击左边“input/output” 菜单

5.点击右边的“add input” 加入我们要混的jar包,test.jar
点击右边的“add output” 填入我们要输出的jar包(命名随便),这里我写 test_out.jar。
注意输出的jar包,要自己手工填写。
6.添加支持库,下边的 “Library jars,wars,ears .....” 那个框框。点击右边的“add”。
说明一下,这里最好把你的myeclipse里java project里的libraries所有Library的jar包,copy到一个目录,然后在这里加入这些jar包,myeclipse的环境支持jar包一般

7.做完以上步骤后,应该如下图4,这样就差不多了

8.点击“shrinking” ,设置成如图5。(可根据需要设置,这里只是我的配置)

9.点击“obfuscation” ,设置如图6。(可根据需要设置,这里只是我的配置)

10.点击“optimization” 设置如图7。(可根据需要设置,这里只是我的配置)

11.点击“process”,再点击“save configuration”,在弹出的对话框中,输入要保存的配置文件名称(这里我的是test.pro),最后点击“保存”。如图8

至些图形化的设置部分已经完成。
12.最后,添加要保留的类与方法。
用编辑器编辑刚才保存下来的“test.pro”,用记事本什么都可以,打开后大致应该是以下的样子
-injars test.jar
-outjars test_out.jar
-libraryjars 'C:\Program Files (x86)\Java\jdk1.6.0_10\jre\lib\rt.jar'
-libraryjars lib\ant.jar
-libraryjars lib\aopalliance-1.0.jar
-libraryjars lib\commons-dbcp-1.4.jar
-libraryjars lib\commons-fileupload-1.2.1.jar
-libraryjars lib\commons-io-1.4.jar
.....设置的支持库包,略
-dontskipnonpubliclibraryclassmembers
-dontshrink
-useuniqueclassmembernames
-keeppackagenames
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
-keepparameternames
-ignorewarnings
....我们在这里加入要保持的类和方法,写法如下,红色部分是我们加的
-keep class org.bl.soa.components.constant.* {
public <fields>;
public <methods>;
*** set*(***);
*** get*();
}
-keep class org.bl.hibernate.* {
public <fields>;
public <methods>;
*** set*(***);
*** get*();
}
.....继续加其他的要保留的类和方法,有多少写多少。我是把test.jar里的所有类都加进来。
....后面还一些自动生成的配置,不用管它们。
....略
13.写完后,保存。
重新打开progrard,执行 bin目录下的proguardgui.bat。
点击第一个选项“Proguard”,再点击“Load configuration”,选择我们刚才保存的“test.pro”进行加载。

14.开始混代码,点击右边“process”,再点击“process!”,如下图

15,在等待处理完成后,输出的“test_out.jar”,就是混过的jar包,你可以用xjad反编看下效果。
16,如果在处理过程中有问题,一般会有提示,大部分一般都是缺少关联类,如果少了相关类,在第7步的图,把缺少的支持包加进来就可以了。
使用注意:
1、注意版本,如果不是项目需要,最好使用最新稳定版本,这样出错的机会小一些,学习曲线会明显缩短。
2、最好以源码的同编译版本的jvm来启动proguardgui.jar,不要直接用默认的jvm打开。
3、注意proguaardgui启动后默认加载的libraryjar中包含的rt.jar,它的版本和你使用到的jvm版本一致。
4、使用1.4的jvm打开proguard时,注意在optimization选项卡中,不要勾中keep enumerations选项,因为勾中这个选项会导致configration文件中出现java.lang.Enum,这个类
只有在1.5的环境下才有。报错信息如下:
[proguard] Note: the configuration refers to the unknown class 'java.lang.Enum'
[proguard] Note: there were 1 references to unknown classes.
[proguard] You should check your configuration for typos.
5、嵌入ant脚本时,通常会有这么一段
<target name="proguard" depends="init">
<taskdef resource="proguard/ant/task.properties" classpath="${lib.dir}/proguard/proguard.jar" />
<proguard configuration="${src.dir}/config.pro" />
</target>
task.properties在proguard.jar中,保留,config.pro是proguard的配置文件,最好使用proguardgui.jar先生成,然后再根据需求手动修改。
常见问题:
1、conversion to dalvik format failed with error 1
网上主要有这几种解决方案:
1、编辑eclipse项目下的.classpath文件,改为
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>即可
2、下载最新版本的proguard,替换android sdk下的tools\proguard(我用的就是这个方法解决的,我的android sdk是r20,其中带的proguard是4.7的,我把它更新到4.8后就好了)
3、将tools\proguard\bin\proguard.bat文件中的call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %×替换为:
call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9(我也试了这种方式,不过当时导致了另外一个错误"Expecting class path separator ';' before ... in argument number 7")
下载地址
人气软件

Wolfram Mathematica 14.2.1 中文正式免费版(附安装教程)
51dedecms模板转码专用工具 v5.6中文绿色版(GBK、UTF8码互转)
srvinstw 将exe注册为系统服务的软件
Web程序调用本地exe文件之方法(并传参到CS程序)
Python 3.7 for win32 (Python编程开发工具)官方安装版
Mathworks Matlab R2024b v24.2.0.2712019 中文正式免费版(附安
Composer.exe windows安装包
Mathematica 11.0.1 for linux 英文特别版(附注册机+激活方法)
MathWorks MATLAB R2023b v23.2.0.2485118 Update 6 x64 中文正
Mathworks Matlab R2022b v9.13.0 U2 中文完美授权版(附激活补丁
相关文章
-
阿里云WEF API调用工具 GUI版本 v1.0 绿色免费版阿里云WEF API调用工具是一款Web应用防火墙,通过调用阿里云密钥AccessKey ID、AccessKey Secret,然后可以直接控制阿里云WAF,操作便捷,欢迎需要的朋友下载使用...
-
Mathworks Matlab R2024b v24.2.0.2712019 中文正式免费版(附安装教程)MATLAB R2024b由全球领先的数学计算软件开发商 MathWorks正式发布了,新版R2024b 推出了几项重要更新,帮助从事无线通信系统、控制系统和数字信号处理应用的工程师和研究人...
-
MATLAB Runtime R2024a(24.1) Update 4 中文安装免费版(附教程)MATLAB Runtime R2024a是一组独立的共享库,支持执行已编译的 MATLAB、Simulink 应用程序或组件,允许电脑在没有安装MATLAB软件的情况下运行编译的 MATLAB 应用程序或组件...
-
MathWorks MATLAB R2024a v24.1.0.253703 x64 LINUX 中文授权安装版MATLAB R2024a LINUX版是一款强大完整的数学计算分析和编程软件!数百万工程师和科学家都使用它来完成自己的项目过程,具有超强的灵活性,全面适应和满足用户在工作过程中...
-
MathWorks MATLAB R2024a v24.1.0.253703 中文授权安装版(附安装教程)MATLAB R2024a 是一种用于编程、数值计算和结果可视化的高级语言和交互式环境。使用 MATLAB,您可以分析数据、开发算法、创建模型和应用程序,欢迎需要的朋友下载使用...
-
路遥工具箱 v4.8.2024.719 中文绿色开源免费版路遥工具箱主要用于解决一些开发过程中常见的功能性需求,界面简洁,功能强大,路遥工具箱是一套专为开发人员设计的实用工具集合,它的主要目的是简化开发流程,帮助开发者...
下载声明
☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的Proguard v5.3.3 官方最新版资源来源互联网,版权归该下载资源的合法拥有者所有。




























