Proguard (http://proguard.sourceforge.net),官网介绍:

ProGuardis a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining classes, fields, and methods using short meaningless names. Finally, it preverifies the processed code for Java 6 or higher, or for Java Micro Edition.

简言之,它能压缩、优化、混淆。


Gradle本身内建对Proguar的支持,只需要在build.gradle文件里设置好就行,通常我们会只在release时才打开,举例:

    buildTypes {        release {            signingConfig signingConfigs.release            runProguard true            proguardFile ('proguard.cfg')        }    }

Proguard的配置文件就在上面的proguard.cfg里面。我们之前从网上抄了一个配置,等真的打开proguard后,发现大量crash,好多类被混淆后就出问题了。我们也没有一个个寻求解决方案,而是简单的通过“-keep class” 来禁止特定类的混淆。这类的Crash还很难查出来是跟proguard有关,我们是通过对比debug和release包来快速定位的。

更多相关文章

  1. android(27)(显示意图之打开浏览器)
  2. android常用
  3. WiFi的使用Demo
  4. android 打开wifi
  5. Android(安卓)打开和关闭软键盘
  6. Android(安卓)常用系统功能(打开相册,打开系统设置等等)
  7. 关于Android(安卓)中sqlite 报can not open database错误
  8. android notification 事件
  9. Android在程序中打开网页

随机推荐

  1. MAT:如何诊断“字节”的x实例,由“”占用y
  2. android 2级listview的实现
  3. 【STM8L】STM8L之内部16M晶振
  4. Android音频传输、接收与播放遇到的问题,
  5. 四极管:I2CTools编译方法
  6. android 常用第三方类库汇总
  7. 关于Android4.0之上的ListView显示从网络
  8. ViewPager中的错误片段接收onContextItem
  9. Android Studio Gradle 缓存文件夹设置
  10. 使用Android保护RESTful服务的最佳方式