首页  

proguard使用     所属分类 proguard 浏览量 1104
ProGuard Java类文件压缩,优化,混淆。删除无用的类,字段,方法与属性。
优化字节码,使用简短且无意义的名字来重命名类、字段和方法 


maven 项目配置 
pom 里增加 插件配置


            <plugin>
                <groupId>com.github.wvengen</groupId>
                <artifactId>proguard-maven-plugin</artifactId>
                <version>2.0.11</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>proguard</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <skip>false</skip>
                    <libs>
                        <lib>${java.home}/lib/rt.jar</lib>
                    </libs>
                </configuration>

            </plugin>



proguard.conf



#-ignorewarnings
# 确定统一的混淆类的成员名称来增加混淆
-useuniqueclassmembernames
# 开启侵入性重载混淆,多个字段及方法允许同名,只要参数及返回值类型不同
-overloadaggressively

-keep public interface *

#不混淆所有包名
-keeppackagenames   

-verbose
# 不输出配置文件的潜在错误和遗漏,比如类名拼写错误或者缺少一些有用的选项
# -dontnote 
# 关闭压缩
-dontshrink 

-keep class  dyyx.util.CommUtil{   
    public <methods>;
    public <fields>;   
} 

-keep class  dyyx.util.ConfigUtil{   
    <methods>;
    <fields>;   
} 

-keep class dyyx.util.FileUtil {

  String readString(String, String);

}

-keep class dyyx.util.xxx {

  String readString(String, String);

}


完整例子代码

https://gitee.com/dyyx/demos/blob/master/proguarddemo/proguard.conf

https://gitee.com/dyyx/demos/tree/master/proguarddemo

上一篇     下一篇
git提交指定文件

Elasticsearch mapping中的字段属性总结

BI工具需求要点

linux history 命令

代码分支和版本管理小技巧

韭菜的自我修养读书笔记