2010-03-29 108 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