proguard混淆带第三方库android项目-java mail

已使用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.**

 

 ///////////////////////endif 2012-07-13

如果工程中使用了Annotation相关的内容,需要在proguard.cfg中添加以下内容

-keepattributes *Annotation*

(参考http://charles-tanchao.diandian.com/post/2012-05-24/20118715)

你可能感兴趣的:(proguard混淆带第三方库android项目-java mail)