美文网首页ProGuard Android知识Awesome Sources
ProGuard系列 - ProGuard配置集合

ProGuard系列 - ProGuard配置集合

作者: 糊涂_糖 | 来源:发表于2017-02-07 17:00 被阅读636次

作者:Tong,欢迎交流。
邮箱:wangtotang@gmail.com
GitHub:https://github.com/wangtotang

导读:
  学习完了Android ProGuard后,当然要立即实践它。现在我们来尝试为自己的工程进行ProGuard配置。
  这是这个系列的第三篇文章,主要是收集了我们常用到的ProGuard配置。

本篇文章主要讲解ProGuardRules这个开源工程。
  这个工程项目收集了大量框架的ProGuard规则配置,在开发过程中,如果需要添加各个框架ProGuard的配置规则,可以参考工程下的Android·Library·Module的proguardrules/rules目录,一个文件就是一个框架的ProGuard规则。

Usage

这里提供三种使用方法,依个人爱好决定。

1.Gradle Dependencies

ProGuardRulesProGuardRules
   dependencies {
       compile 'com.tong.proguardrules:proguardrules:latest.release'
   }
2.FileTree

src同级目录下新建文件夹,如rules,然后将需要的配置规则文件复制进去,然后进行以下配置。

   android {
       ...
       buildTypes {
           release {
               ...
               minifyEnabled true
               proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
               proguardFiles fileTree(dir: 'rules', include: ['*.pro']).asList().toArray()
           }
       }
   }
  • 在Gradle Plugin 2.2.0 以下,还可以使用以下语法:
   android {
       ...
       buildTypes {
           release {
               ...
               minifyEnabled true
               proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
               FileCollection proguardFileCollection = files { file('./rules').listFiles() }
               proguardFiles(proguardFileCollection)
           }
       }
   }
3.Files

直接将文件复制到proguard-rules.pro同级目录下,然后进行以下配置。

   android {
       ...
       buildTypes {
           release {
               ...
               minifyEnabled true
               proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
               proguardFile 'proguard-eventbus.txt'
               proguardFile 'proguard-google-play-services.txt'
               proguardFile 'proguard-gson.txt'
           }
       }
   }

Libraries

这些ProGuard规则包含以下的框架:

相关文章

网友评论

    本文标题:ProGuard系列 - ProGuard配置集合

    本文链接:https://www.haomeiwen.com/subject/gsrmittx.html