关闭

Android Studio混淆打包配置

标签: android studio混淆打包gradle
432人阅读 评论(0) 收藏 举报

网上有很多关于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.**

以后针对不同的项目对不同的第三方库添加不混淆代码就可以了

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6026次
    • 积分:156
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    最新评论