相信很多搞安卓的都会遇到这个问题,下面总结一下自己的经验,具体步骤如下:
1,首先打开你的SDK,然后点开tools目录,找到proguard文件打开,看见一个名字叫 proguard-android.txt的文件。
2,复制proguard-android.txt文件到你的安卓项目res目录下
3,点开最后那个文件名为project.properties的文件 在最下面加上一行代码proguard.config=proguard-android.txt
4,最后一步也是最关键的一步了,如果你看到你的libs目录下有加入的第三方的包,就需要在proguard-android.txt进行配置一下,目的是为了不混淆第三方的类库,如果不配置的话就会报错,具体配置方法我下面详细介绍:
-keepclassmembers class **.R$* {
public static <fields>;
}
这段代码是需要修改的地方,需要把**的地方替换成的你项目包名的路径比如:
-keep public class com.abc.abcd.R$*{
public static final int *;
}
接下来是第二个需要修改的地方:
如果你的项目中引入的第三方的jar的话就要仔细看了,比如
这样的jar包的话就需要在proguard-android.txt文件里面加入这样一段代码:
-libraryjars libs/android-support-v4.jar
-keep class android-support.v4.** {*;}
-dontwarn android-support.v4.**
第一行是你的包名称
第二行是你包目录下的包结构
第三行和第二行一样也是包结构
需要注意的是,包的目录结构,这个是第三方包,所以不能直接查看包的目录结构,所以需要build path之后 才能查看,
其中android.support.v4就是包的目录结构。
把所有加入的第三方的jar都按照以上方式进行配置一下就OK了。
至此就大功告成了,可以成功混淆代码了。
也许你会遇到别的问题,可以私密我,或者下面回复。