2011-12-05 52 views
2

從ADT 14開始,資源字段不能用作開關 的情況。調用此修復程序以獲取更多信息。這是什麼原因用於? enter image description here什麼是遷移Android代碼?

+1

你能鏈接到你所指的「修復」嗎?你的問題很混亂。 –

+0

這個問題完全令人困惑。一個解決辦法是解決問題。如果您使用帶資源ID的交換機,則由於ID不是最終的,它們不再工作。所以它修復了由此產生的錯誤。因爲它似乎在你參考的文件中解釋過。 – njzk2

回答

8

看看官方博客張貼關於這一點:

http://tools.android.com/recent/switchstatementconversion

http://tools.android.com/tips/non-constant-fields

基本上,在庫項目資源常量不再是 「最後」。來自ADT網站:

換句話說,常量在庫項目中不是最終的。 的原因很簡單:當多個庫項目合併爲 時,字段的實際值(必須是唯一的)可能會發生衝突。在ADT 14之前,所有字段都是最終字段,因此,所有 庫在使用時都必須將其所有資源和關聯的Java代碼 與主項目一起重新編譯。這 表現糟糕,因爲它使構建非常緩慢。它還 阻止分發不包含源 代碼的庫項目,限制了庫項目的使用範圍。

16

對於那些誰不解決這個問題還沒有的 - 這是i`v做了什麼:

  1. 轉到您的「project.properties」文件。
  2. 刪除此行「android.library =真正的」

我之所以有這個問題,是因爲我做了拷貝粘貼&屬性文件到我的項目(失蹤)。

歡呼聲。