我正在编写一个应用程序,该应用程序需要能够接收来自特定帐户的电子邮件(在本例中为Gmail),并获得每个消息的唯一Gmail ID,以便创建指向该消息的链接以供将来参考。
所有这些都可以在Java中使用JavaMail API和GmailMessage类并通过'gimaps'连接完成。然而,当导入到我的Android应用程序时,这个API不会编译- Unable to execute dex: Multiple dex files define Lcom/sun/mail/iap/AString
我得到这些不同的变体,这取决于我尝试导入的jar (pop3, imap, gimap等)
搜索周围,似乎我需要使用JavaMail android端口之一,但他们都没有能力抓取Gmail唯一的消息id。
所以我的问题是,有没有人知道一种方法来做到这一点在Android上,使用官方JavaMail API(如果可能的话)或在各种端口上使用?
谢谢。
编辑:谢谢,实际上我已经得到了它部分工作使用这里发现的端口https://code.google.com/p/java-gmail-imap/但是它崩溃时,试图从电子邮件中抓取文本的主体。我知道这是由于在此端口https://code.google.com/p/javamail-android/中更正的相同文件丢失所致我已经检查出java-gmail-imap代码到eclipse中,试图从android端口添加缺失的类,但每次我导出我得到java.lang.NoClassDefFoundError: com.google.code.javax.mail.Session
打开这个类存在的jar文件。有人知道我哪里做错了吗?
不幸的是,Android不是Java,所以有些东西可能无法工作。
仅根据错误消息,看起来您已经尝试导入定义相同类的多个jar文件(com.sun.mail.iap.AString)。检查您的应用程序中没有多个JavaMail副本。
我设法使用这里找到的库并将一些导入更改为myjava。