1. 程式人生 > >Error:Execution failed for task ':app:mergeDebugResources'. > Error: Java.util.concurrent.ExecutionE

Error:Execution failed for task ':app:mergeDebugResources'. > Error: Java.util.concurrent.ExecutionE

錯誤:Error:Execution failed for task ':app:mergeDebugResources'. >
 Error: Java.util.concurrent.ExecutionException: 

從eclipse上專案移植到Android Studio上遇到此問題, 嘗試了很多辦法,最終解決,原因有多種,請對號入座,方法如下

歸根結底是圖片的問題

終極解決方案:

問題:Android Studio嚴格判斷.9圖邊界

第一:在專案的drawable中找到你的.9圖

這裡寫圖片描述

第二:開啟你的.9圖,用滑鼠補全殘缺的邊界

這裡寫圖片描述

第三:補全所有邊界後,編譯即可成功

這裡寫圖片描述

注:所有.9圖均補全邊界後,編譯仍然不通過則可能是圖片本身有問題,解決辦法可參考下面的 問題圖片解決辦法:**

下邊是以前的方法,可以嘗試下

方法一:

嘗試過,有些專案並沒用。

android {  

   ......  

    aaptOptions.cruncherEnabled = false  
    aaptOptions.useNewCruncher = false  

   ......  
} 

很多專案光使用方法一是解決不了的,

方法二

部分.9圖片有問題,將.9字尾的圖片改名,當然,.9圖的效果也失效了,但是可以執行
例如tab_btn_pressed.9.png 改為tab_btn_pressed.png,有的朋友到這裡就已經成功了,但是有部分專案還需要方法三才能成功,請往下看。
這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

方法三

有的專案出現Error:Execution failed for task ‘:app:mergeDebugResources’.的原因是多種的,
1.既有.9圖片問題,
2.又有部分圖片錯誤,
我移植的一個專案就屬於此種。我們要做的就是找到出問題的那張,或者幾張圖片,可能比較麻煩,但是也只有這樣做。
解決辦法是
1(方法二)

2.改名9圖後依然沒有解決的,說明還有別的圖片有問題,可能是一張,也可能多張,下面告訴大家如何查詢是那張圖片有問題。

1.1建立一個新的工程,執行一把,保證無錯
這裡寫圖片描述

1.2將問題專案中drawble系列檔案中圖片逐個匯入到新工程中,每次匯入進行編譯,編譯成功則說明圖片沒問題

,然後繼續檢查後邊的圖片。
這裡寫圖片描述

匯入圖片後,編譯失敗,則說明該圖片有問題,這裡是mymyshoft.png圖片有問題
這裡寫圖片描述

問題圖片解決辦法:

問題圖片解決辦法有很多,下面提供一種

開啟美圖秀秀,不用修改,直接儲存,原圖覆蓋,
這裡寫圖片描述

修改完的圖片,替換專案中的圖片,繼續編譯,編譯通過
這裡寫圖片描述

重複操作,找到所有問題圖片,改名的改名,重建的重建,最終專案能夠順利移植,需要較好的耐心!!