使用 javamail API 发送电子邮件时 proguard 失败



我正在使用javamail API发送电子邮件和httpclient以在我的应用程序中进行网络访问。我指的是演示gmailsender。这是链接:使用JavaMail API在Android中发送电子邮件,而无需使用默认/内置应用程序

调试时没有错误,我可以在手机中顺利运行APK。但是,当我尝试使用proguard生成我签名的APK时,我发现控制台显示"Proguard返回错误代码1",尽管我作为解决方案Android,javamail和proguard。因此,我无法使用Proguard构建我的APK。

谁能帮我?控制台显示如下:

Proguard returned with error code 1. See console
[2013-09-06 10:32:25 - ] Note: there were 1487 duplicate class definitions.
[2013-09-06 10:32:25 - ] Warning: library class org.apache.log4j.net.SMTPAppender$1    extends  or implements program class javax.mail.Authenticator
[2013-09-06 10:32:25 - ] Warning: there were 1 instances of library classes depending on program classes.
[2013-09-06 10:32:25 - ]          You must avoid such dependencies, since the program classes will
[2013-09-06 10:32:25 - ]          be processed, while the library classes will remain unchanged.
[2013-09-06 10:32:25 - ]         (http://proguard.sourceforge.net/manual/troubleshooting.html#dependency)
[2013-09-06 10:32:25 - ] java.io.IOException: Please correct the above warnings first.
[2013-09-06 10:32:25 - ]    at proguard.Initializer.execute(Initializer.java:369)
[2013-09-06 10:32:25 - ]    at proguard.ProGuard.initialize(ProGuard.java:212)
[2013-09-06 10:32:25 - ]    at proguard.ProGuard.execute(ProGuard.java:87)
[2013-09-06 10:32:25 - ]    at proguard.ProGuard.main(ProGuard.java:484)

关于重复类的说明表明您在dexguard-project.txt文件中指定了 -injars 选项或 -libraryjars 选项。你不应该这样做,因为 Android 构建过程已经为你指定了所有必要的 -injars、-outjars 和 -libraryjar。

如果您随后收到有关缺少类的警告,您可以让 ProGuard 忽略它们,例如:

-dontwarn somepackage.SomeMissingClass

参考 ProGuard 手册> 故障排除> 警告:找不到超类或接口。

最新更新