已使用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中添加以下内容
(参考http://charles-tanchao.diandian.com/post/2012-05-24/20118715)