之所以發布這篇文章,是因為實在是忍不了IDEA這個開發工具了,但是公司要求用這個來做android開發,無奈。
本人遇到過很多次在替換新的logo之後,接著運行,發現logo一直沒換,還是以前的,無論是怎麼重新導入項目,重啟環境都沒用。雖然知道這個是bug,但是一直沒找到解決方法,後來發現編譯的日志裡(Messages窗口)會打印資源的編譯過程,發現res目錄下的東西會copy到一個臨時目錄(C:\Users\用戶名\.IdeaIC12\system\compile-server,我的是Android Resource Caching: [CSII] To destination dir: C:\Users\xuxinyan\.IdeaIC12\system\compile-server\csii_af5a7d53\android\res_cache\CSII)下面,找到Message裡打印的當前項目copy到的文件夾(csii_af5a7d53),並刪除,然後重新編譯,此時IDEA會重新利用最新的資源生成一個臨時文件夾,logo的問題就解決了。其它資源如果也出現這種問題,也可以利用這個方法解決,原理一樣的。
附:IDEA out目錄問題,因為上面的問題刪掉了out目錄下的com文件夾,也就是源碼字節碼所在的文件夾,導致再次編譯時報錯,找不到類,後來重新指定了一個out目錄,IDEA會自己重新生成,這個問題也解決了。由此可得:IDEA進行編譯android項目的時候字節碼和資源是分離的,字節碼存放在out目錄,而資源則放在C:\Users\用戶名\.IdeaIC12\system\compile-server目錄。