您的位置:首页 > 移动开发 > Android开发

Android Studio混淆打包配置

2015-11-18 08:26 447 查看
网上有很多关于Eclipse混淆打包的文章,但是Android Studio的资料比较少,自己琢磨了很久,终于把这个问题解决了。

在工程的gradle配置文件里有一个buildTypes属性,这里可以进行debug和release版本的编译设置,在这里我们这样设置

buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-android-optimize.txt'
}
}

minifyEnabled true表示生成release版本的时候进行代码混淆,getDefaultProguardFile('proguard-android.txt'),这个

proguard-android.txt是sdk中groguard默认的文件,具体在SDK路径下的/tools/proguard/proguard-android.txt,而

proguard-android-optimize.txt就是我们自己要配置的文件,具体设置哪些类不能被混淆,只要把proguard-android.txt

中的代码复制过来,同时再加上自己引用的第三方库的文件不被混淆就可以了,另外要注意

proguard-android-optimize.txt要放在自己的module目录下,具体我这个项目添加的第三方库不被混淆的代码如下:

-keep class com.baidu.** { *; }
-keep class com.tianditu.** { *; }
-keep class com.google.zxing.** { *; }
-keep class com.squareup.picasso.** { *; }
-keep class de.greenrobot.event.util.** { *; }
-keep class de.greenrobot.event.** { *; }
-keep class com.loopj.android.http.** { *; }
-keep class com.squareup.okhttp.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class android.support.v4.** { *; }
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment

-dontwarn com.squareup.okhttp.**

以后针对不同的项目对不同的第三方库添加不混淆代码就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息