这个工程项目收集了大量框架的ProGuard规则配置,在开发过程中,如果需要添加各个框架ProGuard的配置规则,可以参考
工程下的Android·Library·Module的proguardrules/rules
目录,一个文件就是一个框架的ProGuard规则。
这里提供三种使用方法,依个人爱好决定。
dependencies {
compile 'com.tong.proguardrules:proguardrules:latest.release'
}
在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)
}
}
}
直接将文件复制到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'
}
}
}
这些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
这个工程主要参考了android-proguard-snippets。并在 此基础上更新了部分文件内容,在此感谢原作者。
如果有bugs,文件更新要求以及讨论,可以提issues.
Copyright 2017 the ProGuardRules Author
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.