Android: 什么是 ProGuard,我什么时候需要使用它?

Android: What is ProGuard and when do i need to use it?

我构建了一个新闻应用程序,它使用 JSON 从新闻网站获取内容,该应用程序具有 GCM 服务(推送通知),所以我在 [= 中声明了我的 SENDER-ID 12=] 并且没有用户帐户。我认为这里唯一的敏感信息是 SENDER-ID.

那么 ProGuard 到底是什么?我需要在我的应用程序中使用它吗?

(注意: 我已经阅读了关于 ProGuard 的文档,但我不太明白何时使用它。

ProGuard 使您的代码不可读,这是一种保护,如果有人想打开您的 .apk 并从中获取超级创新方法 & 类。但是proguard是低级保护。

ProGuard:java 收缩器、优化器、混淆器和预验证器。

  • Shrinker: 使 Java 字节码更小(编译的 .java 文件,即 .class 文件)。
  • 优化器: 通过删除冗余指令、更改指令或更改指令的执行顺序,使 Java 字节码更高效,只要使整体结果字节码保持不变。
  • 混淆器: 通过更改指令顺序、添加无关方法和更改变量,使 Java 字节码更难反编译回 .java 文件和 class 名称为无意义的名称。这使得其他人更难从您的应用程序中窃取新颖性。
  • Preverifier: 在执行前检查字节码是否有效。

一个工具,可以减少你的 apk 的大小,优化你的代码和混淆(使代码不清楚,这样拥有你的 APK 的人就不能轻易地反编译你的 APK 并阅读你的代码内容。

使用 ProGuard 不是必须的,但它确实对你有帮助,使用它有几个优点,启用它只需取消注释一行,你就可以开始了。

This is one good article on it