解决android导入多个第三方jar包后项目代码混淆的问题 .

1、android2.3版本以下的,保证项目中有proguard.cfg和project.properties两个文件,如果没有可以自行创建一个2.3或以上版本的项目,从中copy出来一份

2、在文件project.properties文件中添加 proguard.config=proguard.cfg

3、在proguard.cfg文件中下面几行的后面添加 -dontwarn,为了不混淆第三方jar包,还添加几行(说明:我导入libs文件夹下的有android-support-v4.jarumeng_sdk.jar两个jar包,一定要注意路径,粗体为添加的部分):

eg:

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-dontwarn


-libraryjars libs/android-support-v4.jar
-libraryjars libs/umeng_sdk.jar

-dontskipnonpubliclibraryclassmembers

-dontskipnonpubliclibraryclasses

...

...

...


-keep class android.support.v4.**{*;}
-keep class com.umeng.**{*;}


4、以上第三步添加的粗体部分缺一不可,完成后即可签名导出混淆过的apk文件


备注:如果混淆时候报Conversion to Dalvik format failed with error 1错误,则解决办法为:

在android-sdk安装路径\tools\proguard\bin下找到: proguard.bat然后修改
call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %* 
为: 
call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4%5 %6 %7 %8 %9 即可。

 

原文地址:http://blog.csdn.net/iamlixiaolong/article/details/8089024

你可能感兴趣的:(解决android导入多个第三方jar包后项目代码混淆的问题 .)