神奇的錯誤
檢視了很多文章,基本上都是更新完Android Stadio 3.1以後導緻,并提供以下解決辦法:
原因及解決辦法
原因:按照android stadio 3.1的要求,需要把gradle版本更新為 4.4及以上,但是gradle 4.4及以上要求将依賴api的compile換成implementation。而implementation聲明的依賴沒辦法傳遞到module以外,即該module 以外module沒辦法引用到implementation聲明的api。
解決辦法:将compile 替換為 api即可,也就是如果有外部引用,則換成:api,剩下的換成:implementation。
我的解決辦法
但是、但是、但是,對我的項目根本沒用,于是,閑得慌的我建立一個項目,逐項複制過去并Rebuild和build APK,因為有時Rebuild不一定會報錯,但build APK一定會
- 首先,jar包和so檔案,沒問題
- 然後,res檔案,沒問題
- 最後,java檔案,噔噔噔,出現了
難道是java檔案的問題?與CompilationFailedException一同報錯的還有另一個報錯
原因是value和value_en檔案夾裡strings檔案不一緻,缺少了一個string。
當我補上後,神奇的事情發生了,沒錯,就是完全沒問題了,項目成功Rebuild和build APK,此時此刻,一句MMB不知當講不當講,CompilationFailedException是可以濫用的嗎,谷歌是想幹什麼,不過我覺得這個原因應該是小衆原因,不喜勿噴!