2014-04-08 169 views
2

所以我剛開始學習使用Android進行編程。一切都很好(我使用Eclipse作爲IDE)。我只有這個問題。每次我做一個新項目,我選擇API 8作爲最低要求SDK,並選擇了一個主題(例如Holo Light with Dark Action Bar)時,Eclipse將會總是導入一個Android Support Library v7的新副本 (程序兼容性)。我知道這是舊設備上的ActionBar和Fragments(API 7-10)所必需的。但是我沒有得到的是爲什麼Eclipse必須一直導入一個新的支持庫副本(好吧,我剛剛開始學習,並且我在考慮支持庫可以並且正在編輯,I我不確定)。Android SDK支持庫問題

因此,我做出了自己的解決方案。我遵循Android Developer網站上說的here。我自己將支持庫導入到Eclipse工作區。然後我創建了一個新項目。所以,Eclipse(再次)導入它自己的appcompat-v7支持庫。我刪除了它,然後在我的項目的屬性上,我用先前添加的自己導入的v7庫替換了刪除的appcompat-v7庫。

這可能是一個解決方案,但我遇到了一些問題

  • Eclipse在我PROJECT_FOLDER增加了一個新的包/ GEN從支持庫名爲I手動導入,並作爲一個結果(這我不明白爲什麼),它會創建它自己的R.java文件(這會導致類似名稱衝突的效果)。也就是說,當我提到這樣的事情在我的代碼,也就是搜索是不是正確的R.java(但重複R.java文件)

    EditText editText = (EditText) findViewById(R.id.edit_message); // this shows an error because the duplicate R.java file contains different fields from what the project's R.java file have

  • 另一件事時,R.java文件,當我創建一個新的活動,許多錯誤如雨後春筍般冒出Eclipse的控制檯像

[2014年4月8日14時53分49秒 - MyFirstApp] C:\用戶\ ME \文檔\的Android \ Android的工作區\ android-support-v7-appcompat \ res \ values \ attrs.xml:572:error:Attribute「textAllCaps」has defined defined

  • 此外,該項目將導入AGAIN它前面導入的程序兼容性-V7庫(我手動刪除)它會刪除我的R.java文件將未關聯本身與V7庫我手動創建。

有沒有正確的方法呢?或者支持庫真的需要永遠導入?謝謝。

回答

5

我意外地重新創建MainActivity時遇到了同樣的問題。因此,它將一個新的引用導入到Appcompat庫中。

您看到這些錯誤是因爲對Appcompat庫的引用有重複的引用。不要刪除任何東西。

你必須做的第一件事就是去除你的項目通過右鍵單擊重複引用或按Alt + Enter鍵顯示項目屬性窗口。然後點擊Android選項卡並轉到圖書館。

Duplicate references to the Appcompat library

在引用的庫列表中,你可能會看到不止一個參考程序兼容性庫。選擇一個,然後單擊刪除,然後單擊應用並確定。

然後您可以不需要的MainActivity活動,其佈局和菜單XML文件。但一定要格外小心。

我希望這會有所幫助。

+0

還要檢查你所依賴的所有庫項目也應該有支持庫 – AMD

-2

右鍵單擊項目,選擇屬性,進入到Android,然後刪除所有應用

+0

的同一版本刪除所有應用程序? –