先说完整流程,正常开发程序,最后快要发布前再做混淆。想好需要混淆的规则,如有哪些接口和实体类是需要对外保留的,要是纯web程序就无所谓了,都加密了也行。如果项目用到了mybatis,mybatis接口和接口里面的方法不能混淆。

1.下载proguard

从github官方网站下载即可,地址GitHub - Guardsquare/proguard: ProGuard, Java optimizer and obfuscator

下载完成以后解压缩,我们使用bin里面的gui批处理运行。

2.在input/output里面点击input添加要加密混淆的jar,再点add output设置混淆以后的文件存储路径及名称。

在下面的library jars里面添加该jar引用的所有第三方jar包,包括jdk/lib里面的,jdk/jre/lib里面的以及项目里面的,这一步要是添加jar包不全面后续处理的时候会报错。

3.设置混淆规则,切到process步骤,点击保存配置,输入一个配置文件名称,如test.txt,然后打开该配置文件,手动编辑录入更加项目的混淆配置规则

如想保留    com.abc.def.Ggg这个类,则配置规则

-keep class com.abc.def.Ggg {
    public * ;
}

如想保留  com.abc.def这个package下面的所有类及public方法不混淆可以配置规则

-keep class com.abc.def.* {
    public * ;
}

如想保留 mybatis 接口不混淆,可以配置规则

-keep class com.abc.def.ghi.mapper.* {
    public * ;
    private *;
    protected *;
}

如果想保留实体类都不混淆,可以配置规则

-keep class com.xxx.model.* {
    public * ;
    private *;
    protected *;
}

4.修改完配置文件后,重新切换proguard回到第一个proguard项重新加载一遍配置文件,然后process处理就可以了。

proguard混淆程序过程记录相关推荐

  1. 移除挖矿程序过程记录

    前言: 早上发现一个服务器的挖矿程序预警消息: 那么接下来开始处理这个问题, 废话不说直接上有效的操作了: 1.查看系统定时任务及修改: 查看系统定时任务:方式一:crontab -lcrontab ...

  2. 微信小程序扫码跳转小程序过程记录

    这里写自定义目录标题 经验总结 测试链接配置 测试范围 开发版 体验版 经验总结 小程序开发真的很恶心,恶心,恶心 测试地址一定要和你扫码的二维码内空一模一样,包括参数,否则你会跳转到正式版,或者无法 ...

  3. [转载]关于Android ProGuard混淆学习记录

    转自:http://www.cnitblog.com/zouzheng/archive/2011/01/12/72630.aspx 前段时间把Android的工程用Ant Build搞定后,现在需要把 ...

  4. C++面经之应届生找工作的“狗日”过程记录

    C++面经之应届生找工作的"狗日"过程记录 .先附上我的座右铭: "不是因为看到希望才去坚持,而是坚持才会有希望." . 吐槽一下: 2020注定是个苦逼年,坐 ...

  5. 安卓中ProGuard混淆基本使用

    1.  简介 因为Java代码是非常容易反编码的,为了很好的保护Java源代码,我们需要对编译好后的class文件进行混淆. ProGuard是一个用于Android开发用于混淆最终的项目,增加项目被 ...

  6. AndroidStudio目录结构 APP构建流程 Jenkins持续集成构建 Gradle介绍 Proguard混淆

    Android Studio目录结构 通常我们是将工程设置成project模式,这个模式下我们的工程有很多目录: .gradle:包含一些Gradle编译脚本,gradle是Google推荐的编译工具 ...

  7. 16.04linux 安装微信,Ubuntu 16.04安装微信的过程记录

    微信没有出Linux的版本,但是可以通过以下方式解决: 1.使用网页版,除了没有公众号之后,一切都没问题,包括传文件等. 2.使用第三方版本,只不过这个是桌面应用,原理是通过网页API集成的,稳定性还 ...

  8. VS调试dll详细过程记录

    VS调试dll详细过程记录 还可以参考博客: https://blog.csdn.net/u014738665/article/details/79779632 在我们写的程序中有时候调用dll,并且 ...

  9. linux chrome 安装过程记录

    最近,由于公司需要做爬虫抓取一些新闻,在开发过程中,发现有些网站有一定的反爬措施,通过浏览器访问一切正常,通过其他方式,包括:curl,urlconnection 等,就算加入了cookie,agen ...

最新文章

  1. mysql给root开启远程访问权限,修改root密码
  2. 如何配置 SQL Server 2005 以允许远程连接
  3. thinkphp $this-display()报错
  4. 我都服了,为啥上游接口返回的汉字总是乱码?
  5. PHP直接输出一张图片
  6. html5特效 手机震动,html5 可以让用户按一下手机键盘手机震动一下吗
  7. spring-data学习上
  8. 智能雷达存在感知技术,家居场景方案应用,毫米波雷达探测方案
  9. Word文档的规范格式
  10. 什么是机器翻译?(科普向)
  11. idea上添加,更改SVN或者Git进行更新和上传代码,怎么显示蓝色箭头绿色对号图标
  12. SpringMVC中使用hibernate-validator的坑
  13. keil工程 freertos AC5编译器移植到AC6编译器
  14. ADS7830 FPGA实现
  15. nginx端口映射配置(Windows)
  16. 传奇单机架设登录器配置教程
  17. Oracle小数补零
  18. MySQL 8.0 新特性之检查约束(CHECK)
  19. VMWare workstation 和 player区别
  20. 混频对两路同频同源射频信号相位差的影响

热门文章

  1. vCard标准及解析
  2. java 静态代码块的作用_Java中什么是静态代码块,有什么作用?
  3. 蓝桥杯——基础练习——十六进制转十进制
  4. 约瑟环c语言,数据结构C语言 约瑟环问题 谢谢大家 一定要AC呀
  5. 用Modernizr和Yepnope进行递归增强
  6. mkdir c语言 头文件,mkdir和chdir函数讲解.doc
  7. 2022最新解决APK报毒的程序源码+安装教程
  8. DVWA通关攻略之暴力破解
  9. linux中读pdf的软件,Linux 系统中的pdf阅读器以及工具
  10. redis RDB AOF