proguard混淆带第三方库android项目(转http://hi.baidu.com/scutsolo/blog/item/096108efcc428229adafd55c.html)

Coordinator
May 3, 2012 at 8:51 AM
proguard混淆带第三方库android项目
2012-03-22 8:57

已使用javamail包来完成邮件发送功能的工程为例

在proguard.cfg加入以下脚本
-injars lib/mail.jar
-injars lib/activation.jar
-injars lib/additionnal.jar

-libraryjars lib/mail.jar
-libraryjars lib/activation.jar
-libraryjars lib/additionnal.jar

此外,再添加以下脚本以确保这些类不被混淆

-keep class javax.mail.**
{
 *;
}
-keep class javax.mail.internet.**
{
 *;
}

加入以上脚本之后,再使用ant来进行混淆,可能会遇到很多Note和Warn导致混查看淆失败,

这个时候,可以使用ant release >log.txt将混淆过程中的日志指定输入到文件,以便纠正

 

特别说明:

note和warn都是proguard的根据相关性,给出的以下可能的错误或者缺失的提醒,并不一定会对我们的使用有影响,具体则需要看note和warn的具体内容。

 

对于Note部分,可以在proguard.cfg中添加以下加班来过滤屏蔽这部分

-dontnote

对于warn部分,则需要根据log中的内容,来做针对性的处理,如

-dontwarn javax.mail.**
-dontwarn javax.mail.internet.**
-dontwarn java.awt.**
-dontwarn javax.security.**
-dontwarn com.sun.mail.imap.protocol.**