我目前正在编写Android应用程序的一部分,使用Google Data API将视频上传到YouTube。我有来自Google Code的API的最新版本,我基本上已经从Developer's Guide暂时复制了该示例。
一切都没有警告或错误编译,应用程序运行正常。但是当我调用service.insert(...)时,我得到以下堆栈跟踪:
ERROR/dalvikvm(19489): Could not find class 'com.google.gdata.data.media.MediaBodyPart$MediaSourceDataHandler', referenced from method com.google.gdata.data.media.MediaBodyPart.initMediaDataHandler
ERROR/dalvikvm(19489): Could not find class 'javax.activation.DataHandler', referenced from method com.google.gdata.data.media.MediaBodyPart.initMediaDataHandler
ERROR/dalvikvm(19489): Could not find class 'javax.mail.internet.MimeBodyPart$MimePartDataHandler', referenced from method javax.mail.internet.MimeBodyPart.writeTo
ERROR/dalvikvm(19489): Could not find class 'javax.activation.DataHandler', referenced from method javax.mail.internet.MimeBodyPart.attachFile
ERROR/dalvikvm(19489): Could not find class 'javax.mail.internet.MimeBodyPart$MimePartDataHandler', referenced from method javax.mail.internet.MimeBodyPart.getDataHandler
ERROR/dalvikvm(19489): Could not find class 'javax.activation.DataHandler', referenced from method javax.mail.internet.MimeBodyPart.setContent
ERROR/dalvikvm(19489): Could not find class 'javax.activation.DataHandler', referenced from method javax.mail.internet.MimeBodyPart.setContent
ERROR/dalvikvm(19489): Could not find class 'javax.activation.DataHandler', referenced from method javax.mail.internet.MimeBodyPart.updateHeaders
使用NoClassDefFoundError。
我拥有链接到Eclipse项目的gdata API的所有依赖项(两个包含在API的deps目录中,还有javamail,activation和servlet-api),我尝试添加所有jar文件到Eclipse中的类路径。我查看了相关的罐子,它声称找不到的所有类别肯定都在那里。
如果有人能以任何方式提供帮助 - 现阶段的任何想法都将受到高度赞赏。
由于
答案 0 :(得分:9)
事实证明,普通的JavaMail / Activation软件包目前无法在Android上运行。解决方案是使用JavaMail for Android,它可以很好地工作。