Proguard是什么:

ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。常常用于Android开发用于混淆最终的项目,增加项目被反编译的难度。(百度)

为何使用Proguard:

通常情况下,编译后的字节码仍然包含了大量的调试信息:源文件名,行号,字段名,方法名,参数名,变量名等等。这些信息使得它很容易被反编译和通过逆向工程获得完整的程序。有时,这是令人厌恶的。例如像ProGuard这样的混淆器就能删除这些调试信息,并用无意义的字符序列来替换所有名字,使得它很难进行逆向工程,它进一步地精简代码。除了异常堆栈信息所需要的类名,方法名和行号外,程序只会保留功能上的等价。通过以上的了解,你应该明白为什么需要混淆了。

Proguard功能:

  • 压缩(shrink)
    移除未使用的类、方法、字段等;
  • 优化(optimize)
    优化字节码、简化代码等操作;
  • 混淆(obfuscate)
    使用简短的、无意义的名称重全名类名、方法名、字段等;
  • 预校验(preverify)
    为class添加预校验信息。

Proguard介绍相关推荐

  1. Android 开发应该掌握的 Proguard 技巧

    本文由玉刚说写作平台提供写作赞助 原作者:Sen 版权声明:本文版权归微信公众号玉刚说所有,未经许可,不得以任何形式转载 Proguard介绍 Proguard被人们熟知的是它的混淆功能,根据Prog ...

  2. proguard java 教程,[Gradle中文教程系列]-跟我学Gradle-使用proguard混淆你的spring boot应用...

    使用proguard混淆你的spring boot应用 Proguard介绍 安卓开发的同学想必对Proguard都是十分熟悉的,由于java的反编译实在是太容易,使用它可以对java源码进行混淆处理 ...

  3. 聚焦Android之proguard混淆工具的使用

    proguard介绍 proguard是Android SDK 自带混淆工具,在sdk目录中的位置如下: # proguard 目录 Android/sdk/tools/proguard/ 复制代码 ...

  4. Android 混淆机制、通用模板

    Proguard介绍 Proguard被人们熟知的是它的混淆功能,根据Proguard帮助文档的描述,Proguard可以对Java class 文件进行shrink,optimize,obfusca ...

  5. Android 代码混淆规则

    1. Proguard介绍 Android SDK自带了混淆工具Proguard.它位于SDK根目录\tools\proguard下面. ProGuard是一个免费的Java类文件收缩,优化,混淆和预 ...

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

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

  7. Proguard的介绍

     一. ProGuard是一个免费的Java类文件压缩.优化.混淆器和审核器,它检查并删除没有使用到的类.字段.方法和属性.它优化字节码并去除没有使用到的指令,它使用无意义的名字来重命名使用的类.字段 ...

  8. 关于ProGuard的学习了解(从别处转来)

    from:http://www.cnitblog.com/zouzheng/archive/2011/01/12/72639.html 在Android项目中用到JNI,当用了proguard后,发现 ...

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

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

最新文章

  1. Linux 的内存管理工具和调优参数
  2. C++——Lambda函数
  3. WampServer修改MySQL密码的问题
  4. [译] 探究 Swift 中的 Futures Promises
  5. python系统字体_Python matplotlib修改默认字体的操作
  6. ubuntu 20 安装vnc_Windows 远程控制 Ubuntu 系统
  7. android itool 备份,教您如何将Android SMS导入iPhone
  8. C# winform 窗体接收命令行参数自动登录进行系统,模拟600个WCF客户端的并发压力测试...
  9. 狮子鱼社区团购独立版V15.3.0源码
  10. 60-008-000-使用-命令
  11. 如何使用LDAP用户单点登录到Horizon桌面和应用
  12. 计算机msoffice怎么复习,全国计算机一级MSoffice怎样复习我在 – 手机爱问
  13. SQL SERVER 读取 XML 数据
  14. 少有人走的路:心智成熟的旅程
  15. C# 使用NAudio合并mp3、wav音频文件
  16. 《地图气球》小程序从产品到运维的个人全栈开发过程分享(长文)
  17. C语言的转义字符,八进制
  18. 装甲逆袭-加载NPC
  19. 抽象手绘七夕情人节快闪PPT模板
  20. 零基础入门推荐系统 - 新闻推荐实战-笔记四

热门文章

  1. 总帐明细账查询报表--案例
  2. 韶关监控机房动环系统方案
  3. phpcms附件实现Flash上传换成H5上传
  4. 采用comsol分析加筋圆筒的声振响应
  5. 帮我写个项目可用的抽奖python代码
  6. 怎么培训淘宝直播培养老粉丝,如何吸粉?
  7. java中setHideValue的用法,推荐个不错的表单Input的高级用法11例_经验交流 - hidefocus...
  8. 【元宇宙欧米说】Big Time——探索Gamefi的未来及其经济模型
  9. 惠普暗夜精灵4双系统ubuntu18.04+CUDA10.1+cudnn+pytorch+tensorflow+ros
  10. VoIP NGN IMS 3G 标准 规范 测试技术 资料集合