R.java was modified manually! Reverting to generated version!
進入 eclipse後clipse Menu > Projects > clean
這麼做就把R檔案刪了,但是別擔心,重新整理專案,R檔案會自動更新的。如果不更新的話一定是程式中有錯誤,一般情況下是命名問題。
我遇到的情況是:(1)不同的layout xml檔案中控制元件命名衝突(我當時就是直接複製的)。只要把相關的控制元件命名區別開來,重新整理專案,R檔案就會自動生成。
(2)而且相關的目錄檔案不能刪除,res資料夾中只能包含資料夾,不能有檔案或圖片存在。
不管怎麼樣,只要res檔案沒有錯誤,R檔案會自動生成。
Android 在開發中會自動生成一個 R.java 檔案,這個檔案是自動生成的,最好不要去改。不過有時候這個 java 檔案會跟我們捉迷藏,在程式中 R.xx.xxx 會出現經常報錯現象。其實只要對著工程點選滑鼠右鍵 選擇Build Project,R.java 檔案又回來。這樣R.xx.xxx 就能 X 的出來了。
匯入其他Android時出錯分析
最近幾天學習android ,學習時候難免要匯入一些示例,目的為了更加了解android各種API用法,順便也可以學習下別人程式碼的寫法。可是匯入android原始碼後,基本都有錯誤,R.java也不會自動生成,因為是第一次匯入工程,工程有錯R.java就不會自動生成了,工程有錯誤,當然模擬器就不能啟動,也就看不到效果。隨後網上找各種解決方法,網上解決方法主要有這幾種
1、選擇選單 Project >> Clean ,前提是勾選上 Bulid Automatically(自動構建部署) ,點Clean後會重新構建專案,因為一般情況下,R.java檔案在這個時候會重新更新生成一邊,如果工程有錯,就不會自動生成。
Bulid Automatically設定:window->preferences->workspace下
2、選擇工程,右鍵 Android Tools >> Fix Project Properties 這個操作有時候可以修正一些錯誤,但我的不行。
3、還有的說法是重新建一個空的工程,然後把這裡面的程式碼,資原始檔按照對應的包路徑什麼的拷進去,然後重新生成一邊,這種方法,也想當於是第一種方法,都是重新構建部暑,性質一樣的。
以上幾種方法都試了,R.java依舊沒出現,整個工程還是一大堆錯誤。隨便點了一個有錯誤的佈局XML檔案,看到這樣一個錯誤程式碼android:layout_height="match_parent" , 之前我都用1.5/1.6/2.1 版本的SDK layout_height裡面沒有看到match_parent這個屬性,然後問群一個兄弟說這個屬性是2.X版本的,想了下,是不是因為工程的SDK版本和eclipse預設的SDK版本問題呢,於是選擇工程,右鍵 Properties >> Android
然後看到右邊的一塊 Target Name, 我的是選中 Android 1.5,然後換了一個 2.1 的 ,點選Appply ,工程自動構建,看到錯誤少了一些,換到2.2,重新構建,錯誤沒了,久未解決的問題解決了,R.java也出來了,一個字高興啊,啟動模擬器一切正常。
總結下當匯入其它原始碼時候,首先要保證原始碼的SDK版本和你eclipse預設版本是否一致。
檢視原始碼版本辦法:開啟default.properties 檔案,看target=android-7 這後面這個數是多少。
版本對應關係:target=android-3 <---> android 1.5 ,target=android-4 <---> android 1.6 ,
target=android-7 <---> android 2.1 ,target=android-8 <---> android 2.2 其它的自己測試下。
一張圖片的名字中有一個空格,原來在android資原始檔中規定圖片檔案的名字中不能有大寫字母 、第一個符號不能是數字。有時檔案出錯,把檔案刪除,然後重新匯入可能就解決問題了
相關文章
- Create database manuallyDatabase
- nginx expires if_modifiedNginx
- PostgreSQL DBA(53) - PG 12 Generated columnsSQL
- How to drop Oracle RAC database manually?OracleDatabase
- How to Deinstall Oracle Clusterware Home ManuallyOracle
- Loop Subdivision與Modified Butterfly SubdivisionOOP
- PG: Estimate last modified or read time of a tableAST
- Linux下Yum(Yellow dog Updater, Modified)Linux
- Automatic Manageability Features : Server-Generated Alerts (54)Server
- Manually Backup - Restore or Clone a Database to Another Node [ID 562556.1]RESTDatabase
- Expires, Last-Modified, Etag快取機制AST快取
- kettle modified javascript 步驟的一個例子JavaScript
- db2 load 自增 generated always as identityDB2IDE
- 【Mysql】MySQL 5.7新特性之Generated Column(函式索引)MySql函式索引
- unexpected inconsistency;RUN fsck MANUALLY 解決方案
- Last-Modified Header in Asp.net Core MVCASTHeaderASP.NETMVC
- UDI-03113: operation generated ORACLE error 3113OracleError
- UDE-00008: operation generated ORACLE error 31626OracleError
- MySQL Version TokensMySql
- 理解Semantic Version
- edit the grastate.dat file manually and set safe_to_bootstrap to 1ASTboot
- ora-01439:column to be modified must be empty to change datatype
- Maven多模組中,parent version如何採用自定${version}表示Maven
- IDBDatabase.versionDatabase
- Prefix Flip (Easy Version)
- Reverse Card (Hard Version)
- HTTP 200 OK和HTTP 304 Not modified的由來HTTP
- Please add or free up more resources then turn off safe mode manually.
- High Version Count Issues(SQL高Version Count) (文件 ID 296377.1)SQL
- Android開發中使用Glide V4 中Generated API特性AndroidIDEAPI
- Mongoose-modified-at 時間自動記錄外掛介紹Go
- git操作---將staged狀態檔案回退到modified狀態Git
- iOS--Unsupported swift versioniOSSwift
- .NET Framework 的 Quirk VersionFrameworkUI
- phpweb /version.php VulPHPWeb
- Manually Evolve and Accept SQL PLAN BASELINES in Oracle 12cSQLOracle
- ORA-39358: Export dump file version 12.1.0 not compatible with target version 11Export
- General->Identity->VersionIDE