1,为什么混淆?
为了保护代码被反编译,android引入了混淆代码的概念
2,怎么混淆?
- 在项目的目录下找到 proguard-project.txt 文件,将其打开后在任一空行中使用 -libraryjars 标明所有引用的第三方 jar 包。如下图所示:
![Android 编程下引入第三方jar包进行代码混淆时的问题解决 - 安卓机器人 - 安卓机器人](http://img3.ph.126.net/Xc1fYsg39tOp6hZY7S0PXA==/6597968067656037223.png)
- 然后在 project.properties 文件的空白行加入 proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 即可进行代码混淆的文件导出,配置信息如下图所示:
![Android 编程下引入第三方jar包进行代码混淆时的问题解决 - 安卓机器人 - 安卓机器人](http://img7.ph.126.net/gTvjA6NknVxJveYOcdsoQA==/6597675597563048707.png)
3,可能遇到的问题?(解决办法百度有的。。。)
java.lang.ExceptionInInitializerError
Can't read [D:\workspace\SMSReceiver\activation.jar]
4,排除第三方(可以参照前例),也可以如下做
-keep class 包名.** {*; }
排除自己项目的某个包名,当然可以用来排除第三方jar包的
如-keep class com.yangfuhai.http.** {*; }