2010-03-29 107 views
0

我自己解决了这个问题。事实证明,激活框架需要一些非本机的库,myjava.awt.datatransfer,org.apache.harmony.awt。*和org.apache.harmony.misc。一旦我添加这些库一切正常。在android的jar依赖关系 - 没有类定义发现异常

我试图使用Android上的Java GDATA客户 库,并有 管理一个体面的黑客得到它 工作。然而,因为 gdata罐子有一些软件包差异 与android我不得不导入 源到我的项目。此来源 依赖于JavaMail API和 JavaBeans激活框架作为 指定here

我的问题是JavaMail jar 在寻找激活框架jar中的类时抛出的类定义未找到 。下面列出了一个堆栈 trace。我在Eclipse中工作了 ,并在lib 文件夹中添加了两个jar文件并添加到了我的构建路径中。 我不是很有经验,在这样的情况下处理 罐子,所以任何 帮助或洞察将不胜感激。

03-29 09:55:26.204: ERROR/AndroidRuntime(331): Uncaught handler: thread AsyncTask #3 exiting due to uncaught exception 
03-29 09:55:26.215: ERROR/AndroidRuntime(331): java.lang.RuntimeException: An error occured while executing doInBackground() 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at android.os.AsyncTask$3.done(AsyncTask.java:200) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at java.lang.Thread.run(Thread.java:1096) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331): Caused by: java.lang.NoClassDefFoundError: javax.activation.DataHandler 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at javax.mail.internet.MimeBodyPart.setContent(MimeBodyPart.java:684) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at com.google.gdata.data.media.MediaBodyPart.<init>(MediaBodyPart.java:95) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at com.google.gdata.data.media.MediaMultipart.<init>(MediaMultipart.java:126) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at com.google.gdata.client.media.MediaService.insert(MediaService.java:382) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at android.os.AsyncTask$2.call(AsyncTask.java:185) 
03-29 09:55:26.215: ERROR/AndroidRuntime(331):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 

回答

0

我自己解决了这个问题。事实证明,激活框架需要一些非本机的库,myjava.awt.datatransfer,org.apache.harmony.awt。*和org.apache.harmony.misc。一旦我添加这些库一切正常。

+0

在android studio中这个解决方案不起作用! 2015年 – delive 2015-08-07 13:46:20

1

看起来它不支持Android。也许在未来的SDK中。 Link 由于它使用Davlik Runtime而不是标准JRE运行,因此 可能缺少不在Davlik JRE中的类。

+1

链接错误实际上是我已经处理的这一个是特定于激活和邮件罐。我开始认为我只需要包括那些罐子的来源。 – 2010-03-29 17:26:07