我做了一个邮件客户端,使用javamail api for android,并且该应用在模拟器或设备上运行良好...现在我想使用eclipse导出该项目,但出现以下错误:android:proguard迷惑问题
Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find superclass or interface java.awt.datatransfer.Transferable
Warning: org.apache.harmony.awt.datatransfer.NativeClipboard: can't find superclass or interface java.awt.datatransfer.Clipboard
Warning: javax.activation.CommandInfo: can't find referenced class java.beans.Beans
Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.Sasl
Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.SaslClient
Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.SaslException
Warning: org.apache.harmony.awt.datatransfer.DragSourceEventProxy: can't find referenced class java.awt.Point
Warning: org.apache.harmony.awt.datatransfer.DragSourceEventProxy: can't find referenced class java.awt.dnd.DragSourceContext
Warning: org.apache.harmony.awt.datatransfer.DragSourceEventProxy: can't find referenced class java.awt.dnd.DragSourceEvent
我看到了JavaMail API使用的java.awt和javax.security库...我怎么可以添加他们在我的项目,所以我可以导出我的项目,混淆呢?
非常感谢!
UPDATE:
我试图导入JRE库在我的项目,这些错误都消失了,但新的apeared:
Proguard returned with error code 1. See console
Note: there were 4243 duplicate class definitions.
Warning: library class com.sun.xml.internal.messaging.saaj.soap.FastInfosetDataContentHandler extends or implements program class javax.activation.DataContentHandler
Warning: library class com.sun.xml.internal.ws.encoding.XmlDataContentHandler extends or implements program class javax.activation.DataContentHandler
Warning: library class com.sun.xml.internal.messaging.saaj.soap.MessageImpl$1 extends or implements program class javax.activation.DataSource
Warning: library class com.sun.xml.internal.ws.encoding.StringDataContentHandler extends or implements program class javax.activation.DataContentHandler
我能做些什么?
-libraryjars <java.home>/lib/rt.jar(java/**,javax/security/**,javax/activation/**)
希望这有助于人::P
这可行,但我没有找到任何有关Android构建脚本不支持过滤器的信息。你有链接吗? – phunehehe 2013-06-19 10:58:34
@phunehehe从理论上讲,你可以添加过滤器到Ant构建文件android-sdk/tools/ant/build.xml中,在'injars'行上。正如你在那里可以看到的那样,默认情况下它没有定义任何过滤器。 – 2013-06-20 01:34:53