2012-06-15 18 views
4

這是直接從我提出的問題對谷歌羣組複製找到Theme.Sherlock:Eclipse可以不ActionBarSherlock

我在Eclipse(靛藍)採用ABS有問題。我正在使用ABS 4.1.0。我在Eclipse中創建了一個來自/ library的項目,將構建目標設置爲14,minSdk爲14,Java遵從級別爲1.6,正如我所知道的。還有在ABS項目沒有錯誤,但在我自己的項目,minSdk 7,targetSdk 14,構建目標14和ABS加入圖書館,我在AndroidManifest.xml得到這個錯誤:

Error: No resource found that matches the given name (at 'theme' with value '@style/Theme.Sherlock') 

即使我已經導入ABS。
此外,R.java拒絕生成,所以我在班上也有一堆「R無法解析爲變量」。這兩個有關係嗎?

如果您需要更多信息,請告訴我。
幫助,將不勝感激。

+0

爲什麼你使用ActionBarSherlock如果你的應用程序的最低sdk版本是14?你不能只使用常規的「ActionBar」嗎?! –

+0

ABS(庫)的最小sdk爲14,項目本身(app)的最小sdk爲7,正如我所知道的。 – vurp0

+0

我還發現,當我查看樣本屬性時,ABS庫旁邊有一個綠色複選標記,但在我的項目屬性中,庫旁邊有一個紅色的X. – vurp0

回答

2

那麼,這當然讓我感到很蠢。但現在我可以睡得很好(像這樣的東西總是讓我在晚上)。

導致我的問題的原因很簡單,該庫與我的工作空間(分別爲D:和C:)不在同一個驅動器上,因此Eclipse無法在兩者之間創建相對路徑。我只是將庫移動到C:並且工作。

Thanks to this question that put me on the right path.

1

1)從項目的lib目錄中刪除library-4.0.0.jar和android-support-4.0.jar(或取消鏈接)。在我看來,設置指南有點不清楚。 android-support-library只需要添加到ABS-Library-Project,而不是你的項目。

2)嘗試清理您的庫項目和您的實施項目。此外,右鍵單擊每個項目並選擇Android - >修復項目屬性

3)檢查「庫項目」的屬性 - > Android屏幕上的「Is Library」 - 複選框是否被選中,並且您已經在實施項目中的此屏幕上添加了庫項目(而不是作爲外部/ Java庫)

4)嘗試導入可從ABS網站下載的「ABS示例項目」看看你是否在那裏得到同樣的錯誤。

5)在出現與「R無法解析...」有關的錯誤的Java類中,請檢查您是否導入import com.yourcompany.yourapp.R;而不是ABS-R。修復您到達那裏的任何錯誤(或者簡單地暫時移除引發錯誤的代碼),以便可以正確生成項目的R-文件。清單中的錯誤應該隨後消失。

+0

這沒有幫助。 :(另外,在/ lib中沒有庫-4.0.0.jar。是否有? – vurp0

+0

不,沒關係。讓我試着記住我還做了什麼來解決這個問題... – Nick

+0

我已經更新了我的原始答案並提供了一些其他建議 – Nick

0

嘗試改變(無論是ActionBarSherlock項目和你的),你的目標API級別爲15

  1. 更新您的清單:android:targetSdkVersion="15"
  2. 更改構建目標的「Android 4.0.3」通過右鍵單擊您的項目在項目資源管理器,選擇屬性,點擊的Android(在左側面板),然後檢查與API 15複選框

另外,刪除引用的庫(帶有紅色X的庫)並重新添加它。現在應該有一個綠色檢查。一切都應該工作,我相信一旦你這樣做。

+0

不幸的是,這並沒有幫助。 – vurp0

+0

以及它是值得一試。我知道一個事實,即你需要根據API 15構建你的項目,然而......傑克沃頓這樣說(我忘記了......但是相信我,他說:P)。 –

+0

@vurp,再次檢查我的帖子。紅色的X是壞的...刪除庫,然後重新添加它(瀏覽到'庫'文件夾,然後單擊添加)。現在應該有一個綠色檢查,我相信它會起作用。 –

2

在我的情況的lib是在另一硬盤(未在Eclipse工作區)。它在我將lib項目移入工作空間之後起作用。

0

我終於找到了解決辦法:

  1. 重要!在兩個項目中複製相同的android-support-v4.jar:在庫和項目中(這是主要問題)。
  2. 將「庫」項目導入到您的工作空間
  3. 右鍵單擊庫項目屬性 - > Android - >檢查「目標名稱」4.x(任何API級別14,15或16)。底部檢查「庫」。
  4. 在屬性中,轉到「Java Build Path」,選項卡「Libraries」並通常在「Android Dependencies」中找到「android-support-v4.jar」。確定並關閉屬性。
  5. 右鍵單擊庫項目Android工具 - >修復項目屬性
  6. 在菜單項目 - >清理...並選擇清理「庫」項目。

在這個地方,你的項目「庫」必須做(沒有錯誤)

  1. 創建或導入自己的項目。示例「MyProject」
  2. 在屬性中,轉到「Java Build Path」,選項卡「Libraries」並通常在「Android Dependencies」中找到「android-support-v4.jar」。
  3. 現在轉到「項目」選項卡。添加...並選擇「庫」項目。
  4. 現在屬性轉到Android - >檢查「目標名稱」4.x(任何API級別14,15或16)。重要提示:必須與「圖書館」項目相同。底部「是庫」必須UNCHECKED,並在這個地方按添加...並選擇「庫」項目。確定並關閉屬性。
  5. 右鍵單擊「MyProject」項目Android工具 - >修復項目屬性
  6. 在Menu Project - > Clean ...中選擇清理「MyProject」項目。

已經,您的項目必須完成。如果錯誤仍然存​​在,請重新啓動Eclipse。