代码混淆是给其他人破解自己的程序带来更多困难,但混淆不能影响我们程序的正常运行.最近在代码混淆时出现一个问题:就是第三方jar被混淆时出现程序错误,错误主要是说找不到相关的类.
这个问题也不奇怪,我们要使用的第三方jar包被混淆成我们程序不能认识的代码,结果肯定找不到类.我们要如何解决这个问题呢?
解决方案:
1.首先把android工程中project.properties文件proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt前注释符"#"号去掉.
2.找到文件proguard-project.txt,打开并添加如下内容:
-ignorewarnings # 作用是忽略混淆时出现的警告
-libraryjars libs\httpcore-4.0.1.jar # 作用指定第三方jar包路径
-dontwarn org.apache.* # 忽略警告
-keep class org.apache.** { *;} # 指定我们不进行混淆的类包, 其中org.apache.**{*;}为类包名
3.导出apk包,再用破解工作破解,你会发现代码被混淆(注意:正常情况下,工程bin目录下生成的apk包是没被混淆的包)