ProGuard系列 - ProGuard配置集合

作者: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

   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規則包含以下的框架:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,552評論 25 708
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,569評論 2 45
  • 框架:提供一定能力的小段程序 http://www.cnblogs.com/jincheng-yangchaofa...
    姑娘請別為難小僧閱讀 7,333評論 0 132
  • 我跪在大殿中央,十萬尊者齊宣法號,加諸在我額間的法印金光盛起,又深了幾分。 我佛滿臉悲憫:我欲渡你,奈何自甘墮入阿...
    青青漓人閱讀 445評論 0 1
  • 突然被一陣冷風吹的打個寒顫,在冷風中感受到了一個自私的我。這種沒由來的感覺才更讓人惶恐,讓人不知所措。與其在漆黑的...
    孤于我閱讀 287評論 0 1