ProGuard系列 - ProGuard配置集合

作者:Tong,欢迎交流。
邮箱:[email protected]
GitHub:https://github.com/wangtotang

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

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

Usage

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

1.Gradle Dependencies

ProGuardRules

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

  • ACRA 4.5.0
  • ActionBarSherlock 4.4.0
  • ActiveAndroid
  • Adjust
  • Amazon Web Services 1.6.x / 1.7.x
  • Amazon Web Services 2.1.x
  • AndroidAnnotations
  • android-gif-drawable
  • Apache Avro
  • Alibaba Fastjson
  • Butterknife
  • Baidu
  • Crashlytics 1.+ / 2.+
  • Crittercism
  • EventBus 2.0.2
  • Facebook 3.2.0
  • Facebook Conceal
  • Facebook Stetho
  • Facebook Fresco
  • Flurry 3.4.0
  • Google Analytics 3.0+
  • Google Guava
  • Google Play Services 4.3.23
  • GreenDao
  • Glide
  • GSON
  • Jackson 2.x
  • Joda-Convert 1.6
  • Joda-Time 2.3
  • Jsoup
  • LoganSquare
  • New Relic
  • Parse
  • Realm
  • RxJava
  • RxJava-Promises
  • Retrolambda
  • Support Library
  • Sqlite
  • Square Dagger
  • Square OkHttp
  • Square Okio
  • Square Otto
  • Square Picasso
  • Square Retrofit
  • Square Wire
  • SVG Android
  • Icepick
  • Simple-Xml
  • Tencent Bugly

你可能感兴趣的:(ProGuard系列 - ProGuard配置集合)