2011-06-13 58 views
73

我設法很好地重構了我的應用程序,除了派生Activity類中的幾個方法之外,一切都在Library Project中。找不到Library.apk!

它精美的作品,除了Eclipse的控制檯( logcat的!)發出以下錯誤消息:

[2011-06-13 19:54:08 - MyLibrary] Could not find MyLibrary.apk! 

我清理這兩個項目(庫應用程序),重新啓動Eclipse中,重新修建項目,但這個奇怪的錯誤信息仍然存在。

這個錯誤信息是什麼意思? (特別是在一切似乎都運行良好的情況下)

我該如何擺脫它?

UPDATE:我嘗試刪除該項目,然後按照以下建議重新導入它。它沒有幫助。然後我發現this thread幫助我意識到我在應用程序的AndroidManifest.xml中引用了<uses-library>,指向MyLibrary。我刪除它,清理項目並重建。問題依然存在。

我現在懷疑這是「真正的問題」,例如,某些路徑的錯誤配置或我的其他部分。會是什麼呢?

回答

162

我發現問題的根源!

事實證明,「具有新的庫特性,您不需要在屬性的Java Build Path部分中指定您所依賴的Android項目,您可以在Properties的Android部分中執行該項目。

所以我所要做的就是去應用程序項目的Properties,點擊Projects標籤,選擇我自己的庫項目並點擊Remove按鈕。而已。沒有更多的問題。

在Eclipse的Java EE選擇項目屬性,然後選擇Project References,然後檢查FacebookSDK(見截屏)enter image description here

感謝Lance Nanek

+1

這就是它,它現在起作用了。 – sabbour 2011-07-27 17:07:43

+0

我在mY應用程序中沒有任何我自己的庫項目,但仍然出現此錯誤。那麼Sollution是什麼? – 2011-11-12 07:29:41

+0

如果這不起作用,重新啓動eclipse將在此之後工作。 – ercu 2011-11-23 21:21:52

1

您是否嘗試在不從硬盤刪除並重新導入項目的情況下刪除項目。當我遇到這個問題時,這似乎適用於我。

+2

你是說現在的編程已經變得更像Voodoo而不像科學? :)我會嘗試你的建議並回報。與此同時,+1幫助企圖。 – an00b 2011-06-14 13:48:54

+0

我剛剛嘗試刪除**應用程序**項目,然後重新導入它。 **它沒有幫助**。我現在將嘗試刪除庫項目... – an00b 2011-06-14 14:03:55

+0

我剛剛嘗試刪除**庫**項目,然後重新導入它。 **它沒有幫助**。我現在懷疑這是**真正的問題**,例如某些路徑的錯誤配置或我的其他部分。會是什麼呢? – an00b 2011-06-14 14:08:31

0

使用Eclipse的首選項,你可以結束在所有地方添加庫。我在/ libs和Referenced Libraries文件夾中有一個引用的lib。我不得不刪除或從這些位置將其刪除,並在Android的依賴插入(使用偏好設置 - 低於> Android和瀏覽的「是圖書館」複選框。)

正確的佈局爲我的項目: http://www.pasteall.org/pic/show.php?id=34513

4

這很有趣......我不太做什麼的答案指定..

我有一個名爲「ConnectionHandler」一個單獨的機器人項目,連接到Web服務來獲取信息。 該項目不包含活動類別。(如果確實如此,則需要更改主應用程序中的AndroidManifest文件,並遵循以下說明)。

用我單獨ConnectionHandler項目作爲一個庫,我需要做到以下幾點:

  1. 在主應用程序>選擇項目屬性>轉到Java構建路徑>添加罐>選擇ConnectionHandler的bin文件夾>選擇connectionhandler.jar
  2. 在ConnectionHandler項目中>選擇項目屬性> Android>檢查isLibrary
  3. 在MainApplication>選擇項目屬性>轉到Android >在庫部分添加對ConnectionHandler的引用。

這適用於,我能夠連接到我的web服務,即使我沒有源文件在我的主要應用程序做到這一點。一切都包含在被引用我ConnectionHandler罐子內..

希望這可以幫助別人......

2

今天,我開始在Eclipse的控制檯視圖此錯誤消息,但事實證明,這是不問題。我的應用程序將被構建並安裝在我的設備上,甚至可以跑幾分之一秒(直到它崩潰)。這就是我的Console視圖看起來像Eclipse的:

[2013-06-03 09:42:25 - my-android] Android Launch! 
[2013-06-03 09:42:25 - my-android] adb is running normally. 
[2013-06-03 09:42:25 - my-android] Performing com.my.android.activity.MainActivity activity launch 
[2013-06-03 09:42:25 - my-android] Uploading my-android.apk onto device '650rfs2e' 
[2013-06-03 09:42:31 - my-android] Installing my-android.apk... 
[2013-06-03 09:42:35 - my-android] Success! 
[2013-06-03 09:42:36 - my-other-android] Could not find my-other-android.apk! 
[2013-06-03 09:42:36 - android-SherlockFragment] Could not find android-SherlockFragment.apk! 
[2013-06-03 09:42:36 - my-android] Starting activity com.my.android.activity.MainActivity on device 650rfs2e 
[2013-06-03 09:42:36 - my-android] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.my.android/.activity.MainActivity } 

但在我的logcat的仔細檢查,沒有從片段我試圖初始化拋出一個愚蠢的異常。一旦我修復了我的片段(這引發了NPE),即使通過我的控制檯仍然告訴我無法找到這些庫APK,所有事情都很順利。

0

對我來說,發生這種情況的原因是圖書館項目和主項目有相同的包。更改包的最簡單方法是right click on the library project > Android Tools > Rename Application Package

0

對我來說,解決這個問題的方法是從庫項目的清單文件中刪除錯誤的條目。

崩潰只發生在運行時,它碰到我的庫項目的第一次使用。一旦我改變應用程序名稱屬性來反映使用庫項目的正確應用程序類,那麼它的工作