其他分享
首页 > 其他分享> > Proguard-混淆

Proguard-混淆

作者:互联网

ProGuard工具是一个免费的 Java类文件的压缩,优化,混肴器。它删除没有用的类,字段,方法与属性。使字节码最大程度地优化,使用简短且无意义的名字来重命名类、字段和方法 。

git地址:GitHub - Guardsquare/proguard: ProGuard, Java optimizer and obfuscator 目前是更新到7.2.0-beta5

下载压缩包

 

 解压后执行:proguardgui.bat 路径\proguard-7.2.0-beta5\bin

执行proguardgui.bat

 

 

 

 

 

 

 配置文件保存为.pro格式的文件

执行的时候 一般会有一个报错

 

 这个时候 就需要在配置文件中将警告忽略 错误提示里面也会有命令

在配置文件中添加参数:-dontwarn com.**

  :此行用于忽略-当前类找不到依赖的警告,当前表示包 com下找不到依赖的警告全都忽略

示例:

//需要进行混淆的jar
-injars 'C:\control.jar'
//混淆后的jar存储位置以及jar名称
-outjars 'C:\control-proguard.jar'
//忽略包 com.下所有的警告
-dontwarn com.**

//保留 com下LockTemplate类中所有成员,当前类不会被混淆
-keep class com.LockTemplate{*;}
//保留 com下MinaServer类中所有成员,当前类不会被混淆
-keep class com.MinaServer{*;}

//保留 com下CustomProtocolCodecFactory类中的方法 getEncoder、getDecoder,当前类会被混淆,但方法会被保留
-keepclassmembers class com.CustomProtocolCodecFactory{
        *** getEncoder(...);
        *** getDecoder(...);
}
-keepclassmembers class com.CustomProtocolEncoder{
        *** encode(...);
}
-keepclassmembers class com.CustomProtocolDecoder{
        *** doDecode(...);
}
-keepclassmembers class com.MinaServerHandler {
        *** messageReceived(...);
}

 

标签:混淆,...,jar,Proguard,keepclassmembers,com,class
来源: https://www.cnblogs.com/zqdf/p/15774651.html