解決問題的步驟
- 第一步:查看錯誤日志,發現找不到報錯的具體地方,進入第二步
- 第二步:查看改動的代碼,有沒有報紅的地方,重點是XML文件;發現也沒有,然后第三步
- 第三步:萬能的clean,rebuild和sync后,發現還是報同樣的錯誤,最后抱著試一試的心態進入第四步
- 第四步:重啟大法,首先殺掉AndroidStudio進程,重啟AS,發現編譯完成后還是報同樣的錯誤;這時心里就有點涼了,但還是抱著僥幸心理重啟了電腦,接著啟動AS,媽耶,MD還是報同樣的錯誤。這時只能求助網絡同胞了
- 第五步:打開瀏覽器,黏貼錯誤日志,然后回車,然后你就會看到網絡上關于該錯誤的相關記錄。這里我眼前一亮,error1.jpg
第一條 完美解決Android編譯時出現aapt.exe finished with non-zero exit value 1 吐血整理,高度匹配我的問題,看來這個問題馬上就能解決了,心里那個高興啊。懷著激動的心情點進去大概看了一下,發現題主前面的解決方式和我大概一樣,都是Clean,重啟之類。error2.jpg
(個人覺得一個問題連續卡了兩天有點不值得,要么把問題放在一邊,等所有工作都完成了再過來解決這個問題,要么按照一個系統的解決問題的步驟一步一步下去,善于利用工具和網絡,不要一個人死磕,尤其是在開發時間比較緊的時候).然后著重看題主解決這個問題的方法,前面都是一大段配置Java環境的,就不說了,接著重點來了,在終端中輸入這一指令gradlew processDebugResources --debug
error3.jpg
按照提示,我們在終端中輸入了上述指令,也出現了大量log信息,看來問題很快就能解決了,我們復制log信息文本,就可以找到報錯的原因了,然后我們開始全局查找吧.error4.jpg
難道是我的文本工具有問題,一個都沒有匹配到,然后我換著試一試的心態用了WIndows自帶的,error5.jpg
看來不是工具的問題. 心想這么多編譯日志應該能找到點信息吧,然后換了一個關鍵詞為ERROR,發現了點信息.error6.jpg
現在就根據報錯提示輸入以下指令gradlew assembleDebug --stacktrace --debug
或者gradlew assembleDebug --info
然后拷貝日志,輸入你報錯的關鍵字, 我這里輸入C:\Android\sdk\build-tools\27.0.3\aapt.exe
還好這次找到了相關信息ERROR.jpg
紅色框中就是我報錯的地方,原來是約束布局中位于前面的控件約束了后面的一個控件,初始化布局的時候是先inflate前面的控件時,去找其約束控件時沒法找到,所以會報找不到resource的錯誤.但是你進入XML文件,AS是不會提示的.