[IntelliJ IDEA] 如何總公司決匯入舊版Android應用時的Cannot resolve symbol R問題
IDEA Android 設定問題
最近在修改一個2015年的Android應用,使用Android Studio 3.3皆能正確運行,但使用IDEA 2018.3開啟時,在編輯器裡卻出現Cannot resolve symbol R的錯誤,雖然能正確編譯、產生apk檔,但在編碼過程中總是覺得不妥,例如輸入 R.id 無法出現可用的項目,還是花點時間來查問題解決。
搜尋了網上的解法都無效,猜測可能是早期版本的.idea設定和新版的有差異,造成原始檔的Dependencies出現狀況,開啟Project Structure,查看模組的原始碼目錄,src/main/gen/R.java沒有被包含在內,因此編輯器找不到需要的R.java因而出現錯誤。點擊gen資料夾後再按上方的【Sources】將gen加入原始碼清單裡,編輯器的錯誤就消失了。
然而這卻不是永久解決的方法... 在Clean Project / Rebuild Project後,gen會被移除,編輯器錯誤又會再度出現。
最後的解決方法步驟如下:
- 在模組的根目錄下建立資料夾 R (與src同層)
是把src/main/gen裡的R.java複製到原本就在原始碼清單裡的 build/generated/source/buildConfig\debug\內的對應位置才徹底解決此問題。 - 將src/gen裡的內容整個複製到 R
- 將資料夾R加入原始碼清單
錯誤永久消失了。
src/gen裡的R.java只是個有class名稱的檔案,和最後有內容的打包時的R.java不同,不必擔心影響到最後的apk檔。
##
您可能也會有興趣的類似文章
- 開發Android應用程式時操作SQLite資料庫的方法 (0則留言, 2019/03/30)
- [Windows] IntelliJ IDEA啟動緩慢的解決方法(適用JetBrains各個工具,包含Android Studio) (0則留言, 2019/07/14)
- Android Studio添加外部程式庫的步驟 (0則留言, 2013/11/19)
- Android Studio的安裝、設定與執行 (4則留言, 2013/10/03)
- IntelliJ IDEA的專案結構、模組設定與執行時組態設定(IDEA教學 #6) (0則留言, 2019/08/17)
- [Android Studio #2] 操作資源XML檔 (0則留言, 2013/10/03)
- Android Studio無法在Ubuntu 64位元環境執行的解決方法 (0則留言, 2013/11/03)
- Genymotion Emulator:x86架構最快速的Android模擬器,加快Android程式開發 (2則留言, 2013/11/16)
- 用IntelliJ IDEA的GUI Designer開發Swing程式 (0則留言, 2014/02/14)
- 使用IntelliJ IDEA學習Java程式設計 (IDEA #1) (0則留言, 2019/07/14)
- [Android Studio #3] 使用Android Asset Studio產生圖示檔與@+id與@id之差異 (0則留言, 2013/10/07)
- 用Android Studio增加多語系資源目錄 (2則留言, 2013/11/22)
- [IntelliJ IDEA] Java / JavaScript除錯小技巧 (0則留言, 2014/08/14)
- 使用IntelliJ IDEA 12的Android UI Designer輕鬆寫Android App (1則留言, 2012/08/09)
- 使用IntelliJ IDEA建立Spring Boot專案 (0則留言, 2016/03/18)
Sorry, 很久沒用Google sc…