| | 226 | |
| | 227 | [http://proguard.sourceforge.net/ proguard官方说明] [[BR]] |
| | 228 | 打开注释 runProguard true ,修改proguard.txt可以打开混淆选项 [[BR]] |
| | 229 | {{{ |
| | 230 | buildTypes{ |
| | 231 | release { |
| | 232 | signingConfig signingConfigs.myConfig |
| | 233 | runProguard true |
| | 234 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), "${rootDir}/proguard.txt" |
| | 235 | } |
| | 236 | } |
| | 237 | }}} |
| | 238 | |
| | 239 | sdk里面提供的proguard-android-optimize.txt大致为 [[BR]] |
| | 240 | {{{ |
| | 241 | -optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* |
| | 242 | -optimizationpasses 5 |
| | 243 | -allowaccessmodification |
| | 244 | -dontpreverify |
| | 245 | -dontusemixedcaseclassnames |
| | 246 | -dontskipnonpubliclibraryclasses |
| | 247 | -verbose |
| | 248 | |
| | 249 | -keepattributes *Annotation* |
| | 250 | -keep public class com.google.vending.licensing.ILicensingService |
| | 251 | -keep public class com.android.vending.licensing.ILicensingService |
| | 252 | -keepclasseswithmembernames class * { |
| | 253 | native <methods>; |
| | 254 | } |
| | 255 | -keepclassmembers public class * extends android.view.View { |
| | 256 | void set*(***); |
| | 257 | *** get*(); |
| | 258 | } |
| | 259 | -keepclassmembers class * extends android.app.Activity { |
| | 260 | public void *(android.view.View); |
| | 261 | } |
| | 262 | |
| | 263 | -keepclassmembers enum * { |
| | 264 | public static **[] values(); |
| | 265 | public static ** valueOf(java.lang.String); |
| | 266 | } |
| | 267 | |
| | 268 | -keep class * implements android.os.Parcelable { |
| | 269 | public static final android.os.Parcelable$Creator *; |
| | 270 | } |
| | 271 | |
| | 272 | -keepclassmembers class **.R$* { |
| | 273 | public static <fields>; |
| | 274 | } |
| | 275 | -dontwarn android.support.** |
| | 276 | |
| | 277 | }}} |
| | 278 | |