2011-05-29 59 views
31
  1. 我做了一個Android項目並運行它。它成功運行。
  2. 我用Java開發了一個Web服務並託管它。它成功運行。
  3. 我將web服務導出爲.jar並將其添加到我的Android項目中。
  4. 當我嘗試調用Web服務中的方法時,出現Unable to resolve superclass錯誤。

我的錯誤日誌:當引用.jar庫時無法解析超類錯誤

Unable to resolve superclass of Lweb/service/RandomWordGeneratorService; (73) 
Link of class 'Lweb/service/RandomWordGeneratorService;' failed 
Could not find class 'web.service.RandomWordGeneratorService', 
    referenced from method tam.miru.Login$1.onClick 
VFY: unable to resolve new-instance 110 Lweb/service/RandomWordGeneratorService;) 
    in Ltam/miru/Login$1; 
VFY: replacing opcode 0x22 at 0x005a  
VFY: dead code 0x005c-006e in Ltam/miru/Login$1;.onClick (Landroid/view/View;) 

回答

71

剛開始升級到ADT 17

發現外部.jar文件需要在一個「庫」(有多個)文件夾中,否則他們的類不列入.DEX後能得到這個問題創建的文件。在升級之前,一切正常,我的.jar文件在'lib'文件夾中(沒有)。

+4

更多信息[這裏](https://plus.google.com/u/0/109385828142935151413/posts/RL91VJd1yti) – rabidgremlin 2012-03-22 22:17:10

+0

非常感謝!!! – XXX 2012-08-05 14:22:18

+2

謝謝... google .. 。:( – fvisticot 2012-10-11 15:05:45

2

你使用eclipse?如果是這樣,你是否按照Adding a library/JAR to an Eclipse Android project中所述將庫添加到構建路徑中?

+0

是的,我創建了Web服務Java應用程序的jar,並將其添加爲ADD EXTERNAL JAR – sakthi 2011-05-30 02:51:20

+0

是web.service。RandomWordGeneratorService類在JAR中定義? – 2011-05-30 02:55:50

+0

是:(我也創建了一個庫文件夾中的鏈接,並把我的jar放在那裏。我得到同樣的錯誤:( – sakthi 2011-05-30 03:06:15

4

創建lib文件夾,libs文件夾用於本機庫。我做到了,將庫添加到庫中,並將路徑構建爲內部庫,並且工作正常!

+0

感謝它爲我工作:) – 2012-12-03 13:10:25

+0

我也是。謝謝! – 2013-08-09 22:44:33

-1

我在Eclipse上遇到了這個錯誤的另一個原因。我正在嘗試將Eclipse工作區放入Google驅動器目錄,並發現某些超類無法從android活動中解析出來。

暫停谷歌驅動器,一切都開始正常工作。在我的情況下,不會加載的超類來自協議緩衝區生成的類。這個類和我測試過的所有其他人在非android java程序中工作得很好,即使在谷歌驅動器運行時也是如此。

2

我知道這是一篇非常老的帖子,但在閱讀@rabidgremlin的答案後,我檢查了文件夾結構,發現它已經在「libs」中。然而,在看到support.jar時,我發現使用這個是導致問題的原因。

我在擴展「FragmentActivity」,但事實證明,那是引用了support.jar,它本身就有問題。一旦我刪除了擴展條款,該應用奇蹟般地停止了崩潰。

僅供參考,以防有人來找。乾杯!

14

在我的情況下,我不得不去Properties->Java Build Path->Order and Export和檢查Android Private Libraries,然後清理項目,工作正常。

1

我有同樣的問題,我試圖在訂單和導出下標記Android私人圖書館,它不適合我。然後我注意到我的libs文件夾沒有在Java Build Path下引用。所以我只是把它添加到圖書館,它工作。

1

我有相同的錯誤信息。花了我一些時間來弄清楚這個問題:Android需要Java 1.6才能工作。我的Activity的超類實現了一個Java 1.7的編譯器接口。這足以讓dex構建器無法鏈接超類,導致類未找到異常。

相關問題