您的位置:首页 > 编程语言 > Java开发

基于Proguard软件基础上,针对Web项目xml配置文件修改的java项目。

2015-04-07 08:34 886 查看

操作步骤

Proguard配置说明

1、下载Proguard软件:http://sourceforge.net/projects/proguard/files/

此软件需要java运行环境支持,java环境配置可于网上了解。

2、运行Proguard文件夹下的proguardgui.jar打开配置界面,如下图,此界面主要用于可视化配置Proguard混淆设置;具体配置如下:

       a.input/Output:add input 添加web项目导出的jar包(包含src和webRoot下文件);

add output:指定保存混淆后的jar名称。Library jars,aars…:为项目运行的java版本环境,根据需要修改,其他jar包基本无需add,如下图:



       b.Shrink :为压缩设置,暂不做处理,所以去掉所有‘勾’。

       c.Obfuscation:为混淆配置,也是我们需要操作的地方基本配置如下图:,其中printmapping:为混淆后的对照文件xx.map,是后面用来替换xml等文件的参照表。



d.Optimization:为优化配置,如下图:



d.Information:其他配置,如下图



e.Process:为运行界面,save configuration 保存配置为文件,view configuration 预览配置文件,process 开始运行混淆。此处点击save保存配置文件为 xx.pro如下图



f.修改e步保存的xx.pro文件,需要修改之处基本说明如下:

# keepclassmembers只保留指定的类成员名称和内容

# keepclassmembernames只保留成员名称,混淆内容

# keepclasseswithmembers只保留指定的类和类的成员名称和内容

# keepclasseswithmembernames只保留指定的类和类的成员名称和内容,混淆内容

# keepnames保留类和成员名称,混淆内容

# keep 保留类和成员名称

以BanKloudServer项目为例,添加一些配置内容,主要是bean、view、action、remote等涉及框架的属性名和方法名,具体如下所列,保存修改,至此,Proguard配置文件设置完成。-keepclassmembers,allowshrinkingclass *.sumecom.*.po.* {

   public private protected <fields>;

   public private protected <methods>;

}

 

-keepclassmembers,allowshrinkingclass *.sumecom.*.bean.* {

   public private protected <fields>;

   public private protected <methods>;

}

 

-keepclassmembers,allowshrinkingclass *.sumecom.*.view.* {

   public private protected <fields>;

   public private protected <methods>;

}

 

-keepclassmembers,allowshrinkingclass *.sumecom.shareview.* {

   public private protected <fields>;

   public private protected <methods>;

}

 

-keepclassmembers,allowshrinkingclass *.sumecom.*.action.* {

   public private protected <fields>;

   public private protected <methods>;

}

 

-keepclassmembers,allowshrinkingclass *.sumecom.*.remote.** {

   public private protected <methods>;

   public private protected <methods>;

}

 

-keepclassmembers,allowshrinkingclass *.sumecom.*.global.* {

   public private protected <fields>;

   public private protected <methods>;

}

 

-keepclassmembers,allowshrinkingclass *.sumecom.*.core.* {

   public private protected <fields>;

   public private protected <methods>;

}

 

-keepclassmembers,allowshrinkingclass *.sumecom.*.common.* {

   public private protected <fields>;

   public private protected <methods>;

}

 

-keepclassmembers,allowshrinkingclass *.sumecom.server.ConstantsServer {

   public private protected <fields>;

   public private protected <methods>;

}

 

-keepclassmembers,allowshrinkingclass *.sumecom.*.interceptor.* {

   public private protected <fields>;

   public private protected <methods>;

}

 

-keepclassmembers,allowshrinkingclass *.sumecom.*.servlet.* {

   public private protected <fields>;

   public private protected <methods>;

}

 

-keepclassmembers,allowshrinkingclass *.sumecom.*.dao.* {

   public private protected <fields>;

   public private protected <methods>;

}

g.使用proguardgui.jar中Load configuration导入配置xx.pro,然后Process运行,即会生成混淆后的jar文件和一个映射文件xx.map。

 

Proguard的map映射文件说明

1、通过3.1操作,我们会得到混淆前后的class的包名、类名、属性、方法名的对照文件xx.map,如下图,



2、运行 混淆程序HunXiaoWebProject中的proguard(mapPath)方法。来实现对map文件的进一步处理,作用为还原bean、view等类名、混淆action、dao方法(因Proguard自动混淆出造成同一个类中方法名重复,造成dao.xm和action的配置错误,所以在此自行替换),其参数mapPath为 xx.map的全路径,运行完后,xx.map被修改。

3、将此时的xx.map放入Proguard软件里完成第二次对class的混淆,步骤为:3.1 g步,使用proguardgui.jar中Load configuration导入之前的xx.pro文件,

4、唯一需要修改的地方是勾选“Apply mapping”,填入刚生成的xx.map,然后运行process,至此Proguard软件完成使命。



运行HunXiaoWebProject(java)程序说明

1、解压生成的jar包,将a、com、xx.xml文件剪贴到WebRoot/WEB-INF文件夹下。

2、运行fire(dir)方法,参数dir为jar解压后文件夹。(文件放在xx.map所在文件目录下,并取与map文件的同名称);

3、将WebRoot文件夹给为需要的项目名,放入tomcat,启动运行。

源码:http://download.csdn.net/detail/t_y_c/8569297点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐