2013-05-08 22 views
3

我使用的是Linux上的Android Developer Tools(ADT)附帶的最新Eclipse(ADT v21.1.0-569685)。 我繼承了一個大的Android項目,Eclipse不會構建它。Eclipse/ADT給出了數百個錯誤「資源項已被定義」

有幾百個這樣的錯誤:「錯誤:關於資源輸入已被定義」。

在RES /價值/ string.xml: <string name="about">About</string>

在res /值-DE/string.xml: <string name="about">Über</string>

據我所知,這是常見的和正確的方法在Android上執行i18n,但Eclipse將其視爲錯誤。

這不是「已定義」的錯誤,在其他地方被要求和回答的「主」資源和XML執行中。我沒有運行任何XML轉換,並且我沒有任何「額外的」XML文件。

它似乎不是一個日食配置錯誤,因爲如果我使用完全相同的條目製作一個小樣本項目,重複不會導致「已定義」錯誤。

+1

嘗試前往項目 - >清潔 – 2013-05-08 18:15:32

+0

是的,我已經清理並重建了很多次。總是會出現相同的錯誤。 – bdiscoe 2013-05-08 18:19:06

+0

你確定它是一個Android項目,而不是一個標準的eclipse項目嗎? – 2013-05-08 18:19:25

回答

2

當資源限定符的組合無效時也會發生此錯誤。

例如,drawable-xhpdi-v1沒有什麼意義,因爲直到第8版才引入xhdpi。

2

當res/raw目錄下的多個文件共享相同的文件名(沒有擴展名)時,發生了這種情況。就像,例如:

  • myFile.csv
  • myFile.zip

當加載從這個目錄下的資源,機器人只需要標識符(在我們的情況:生/ MYFILE):

int resId = res.getIdentifier("raw/myFile","raw", ctx.getPackageName()) ; 

希望它有幫助。

相關問題