美文网首页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