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

Android 安卓:什么是ProGuard?我什么时候需要使用它?,android,google-cloud-messaging,proguard,Android,Google Cloud Messaging,Proguard,我构建了一个新闻应用程序,它使用JSON从新闻网站获取内容,该应用程序具有GCM服务(推送通知),因此我在MainActivity中声明了我的SENDER-ID,并且没有用户帐户。我认为这里唯一敏感的信息是发送者ID 那么,ProGuard到底是什么呢?我需要在我的应用程序中使用它吗 (注意:我已经阅读了有关ProGuard的文档,但我不太明白何时使用它)。ProGuard使您的代码不可读,如果有人想打开您的.apk并从中获得超级创新方法和类,这是一种保护。但是proguard是低级别的保护。p

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

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


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

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

proguard:java收缩器、优化器、模糊器和前置校验器

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

一种工具,它可以减少apk的大小,优化代码并使代码变得模糊(使代码不清晰,因此拥有apk的人无法轻松地对apk进行反编译并读取代码内容)

使用ProGuard不是必须的,但它肯定会对您有所帮助,使用它有很多优点,您只需取消注释一行,就可以开始了


我需要在我的应用程序中使用它吗?.最好在你的所有应用程序中使用它。你的.apk将很难反向工程使用它1.从你的构建中删除未使用的代码,这将减少apk大小2.如果使用代码,它将以几个字母更改VadeAthrible、类和所有文件名。这将使反编译代码难以理解。谢谢r教程