2012-11-19 26 views
1

我只是試圖在Eclipse的項目工作區中導入示例項目,但沒有觸及代碼,它提供了大量的錯誤,都告訴R.java不能被轉換成一個變量。但R.java文件根本不存在於樹結構中,我不知道它已經走到哪裏了。現在,當我創建一個新的Android項目時,它也會在該新項目中再次出現相同的錯誤。我經常面對這個問題,這對我來說是一個很大的障礙。在一個示例項目中R.java無法解析爲變量

任何人都可以告訴問題的原因和解決方案嗎? 在此先感謝。

+1

嘗試'Project-> Clean-> Clean All' – axiom

+0

仔細檢查您的項目的project.properties,在某些情況下target =?設置得太低以至於Eclipse沒有完成編譯,因此不會生成R文件。這甚至發生在像APIDemo這樣的一些Android示例項目中。 – yorkw

回答

3

一些背景:R.java是從您的項目資源中自動生成的。當您向項目添加布局或可繪製資源之類的東西時,Android SDK將爲您編譯併爲其指定資源ID,而R.java類則包含這些ID。

有時,在導入示例項目時,Eclipse會根據資源生成R類失敗(或需要很長時間),並且在此期間您將看到該錯誤。如果您嘗試使用自動導入修復程序(Ctrl + Shift + O)修復錯誤,則問題將變得更糟,因爲Eclipse會將import android.R添加到您的文件,即不正確(如果您在任何你的文件)。

這種情況下的解決方案通常是清理項目(Project | Clean)並重新構建它,它應該工作得很好。

但是,請注意,如果您看到多條錯誤消息,則可能會隱藏問題的真正原因 - 例如,如果某個資源文件的XML中存在語法錯誤,則可能會阻止SDK從生成資源中反過來阻止它生成R.java。因此,請仔細檢查是否沒有關於解析XML,繪圖等錯誤的錯誤消息。

希望這有助於您。

+0

我已經清理了解決方案並重建了它。但這些東西沒有影響。此外,沒有其他錯誤。它只是與R.java有關 –

+0

我在drawable中包含的圖像的名稱並不是根據命名約定,比如它們包含大寫字母等。 –

0

確保您的源文件不包含進口喜歡...

import android.R; 

另外,檢查你的XML文件是正確的,因爲在你的XML(佈局等res文件夾下),錯誤可能導致這個問題。

另一個原因可能是您重命名軟件包但不更新AndroidManifest.xml文件中的軟件包名稱。

1

也許你忘了添加相關的圖書館到你的項目?

要轉到Screen1和2,請從包資源管理器中右鍵單擊您的項目,然後轉到屬性。

看問題窗口畫面3,窗口 - >顯示視圖 - >問題

屏幕1

Screen 1

屏幕2

Screen 2

屏幕3

Screen

+0

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 – KLee1

+0

你是對的,應該更容易理解 – Talha

0

通常Android SDK的標誌沒有正確安裝。發生在我身上的很多,我必須重新命名SDK幷包含適當的庫。

+0

我們該怎麼做呢? –

0

也許你在資源(res文件夾)中有錯誤。如果您沒有資源錯誤,請嘗試「項目」 - >「清理」。

+0

正如我告訴你,我已經導入了一個在安裝過程中下載的示例項目。樣本項目資源是否包含錯誤?我不這麼認爲......我已經嘗試清洗,但它沒有區別 –

1

更改project.properties文件中的target=android-X,將X替換爲示例項目所在的api級別。例如,如果您從 sdk-path\samples\android-17 dir導入了示例項目,則將其替換爲target=android-17,然後重新生成該項目。

0

我剛剛在我的電腦上測試了這個,我知道了它的工作原理。現在,該解決方案不適用於所有樣本。它適用於名爲ApiDemo的項目,但它不適用於MapsDemo。你有這個問題的原因是你沒有做正確的步驟。如果你導入,如你所述,那麼你會遇到這樣的問題。

下面是這將導致此錯誤錯誤方式:

在項目資源管理器 - 如果你這樣做這樣現有的項目到工作區

,然後是..您R.java - 進口文件不會被創建。

這裏是做它的方式:

點擊新建 - 項目 - 選擇「Android的示例項目」 - 現在,您可以選擇您所選擇的構建目標 - 選擇您想要的項目,並打完。

在運行此項目之前,您必須先執行此操作:在Eclipse中 - 轉至項目 - 並單擊「clean」。

現在您將可以運行該項目。

0

小女孩在研究了這一切之後,似乎沒有任何工作。然後,在論壇的某個洞裏,我發現了一個簡單而有效的解決方案。確保Eclipse指向正確的SDK目錄。我不知道我是怎麼做到的,但是我安裝了2個SDK,並且我正在使用的SDK看起來不錯,但是我的日食指向了隨機的一個。

在elcipse中更新SDK的路徑後,R.java文件開始正確編譯。這是任何人不建議的基本檢查。如果您遇到此問題,請花15秒鐘仔細檢查一下。可以爲您節省3個小時的Eclipse故障排除。