2011-10-29 138 views
1

這是我第一次嘗試Android應用程序。我的目標是Android 4 /冰淇淋三明治。res subolder(「R」)not found(「R無法解析爲變量」)

當試圖運行的應用程序,我得到的錯誤消息「R不能解析爲一個變量」在這條線:

setContentView(R.layout.main); 

然而main.xml中是存在的,下面\水庫\佈局\作爲它應該是。

這個問題可能是什麼?儘可能最小化的應用程序(迄今爲止唯一的代碼是自動生成的)?

+0

好吧,它正在運行(有點)。我與目標/最小API不匹配。一旦我修復並重新啓動Elipse,它會在\ gen(R)下生成必要的文件。然而,那個模擬器咆哮着。 –

+0

您是否在使用帶有默認項目或命令行工具的IDE?大多數IDE的骨架應用程序會將R編譯爲與骨架活動相同的包。 –

回答

5

「R不能解析爲一個變量」來的時候: 一)你不匹配的SDK版本 B)上有任何的佈局,這使得自動生成的R錯誤的文件不被創建 Ç )其他問題通常是由清潔工程

+0

如果清單中的包名稱與包名稱不匹配,也會發生這種情況。這不是通過清潔修復的,而是必須手動更改。 – matt

1

看看你的導入條款,看看是否有「R」類的導入。你在使用什麼開發環境?

+0

Eclipse靛藍 - 我不得不利用快速修復自己來添加它來編譯: - 哇,這真的讓人惱火,因爲按Enter鍵發佈消息。 import com.axx3AndSpace.R; –

1

解決如果您已清理和建造項目,如果這個問題不解決,

  1. 檢查XML文件的名稱。它不應該包含任何大寫字母。
  2. 只是在清理完項目後,檢查控制檯屏幕,它可能是xml問題,哪些程序可以在之前與它們一起編譯。 (像壞塊等XML問題)清理這些行,並在成功後再次寫入。
1

一個簡單的步驟,爲我工作:

導航到根[生成的Java文件]。如果能找到R.java文件,雙擊打開該文件。保存並關閉它。主要活動中與R變量相關的錯誤對我來說似乎消失了。