1. 程式人生 > >Android解決Java.util.concurrent.ExecutionException: com.Android.ide.common.process.ProcessException:異常

Android解決Java.util.concurrent.ExecutionException: com.Android.ide.common.process.ProcessException:異常

錯誤:
Error:Execution failed for task ':app:mergeDebugResources'. > Error: 
java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:

經過一輪的搜查:

解決方法:

要麼把圖片製作成點9圖片,要麼去掉圖片檔名中的.9;
有一個朋友他出現這個問題的原因是公司的加密系統對圖片進行了加密,導致AS解析圖片出錯,去除對這類圖形檔案的加密,問題也能得到解決;
網上看到還有一種可能是:手動把圖片等各式改過,比如圖片原本是jpg格式然後強制改成png的也可能會出問題,改回原本的格式即可。
去除掉PNG合法性檢測,在build.gradle裡的buildToolsVersion下面新增以下兩句:

android {
    
   ......
 
    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false
 
   ......
}

出現錯誤的原因是:Androidstudio嚴格審查png圖片,就是png沒有達到Androidstudio的要求

上面的那兩句話大概意思是
禁止Gradle檢查PNG的合法性
注:最重要的就是.9圖要嚴格要求做好

“.9”圖是andriod平臺的應用軟體開發裡的一種特殊的圖片形式,副檔名為:.9.png,也就是說專案資原始檔夾中,只要圖片的檔案字尾是.9.png的,就說明這是點9圖片,當我們用Eclipse等編譯的時候,它遇到檔案字尾是.9.png的檔案,首先檢查它實際上是不是點9圖片,如果是,按點9圖片處理;如果不是,按找預設圖片處理。也就是說Eclipse自動幫我們完成了轉化,容忍了我們的圖片格式錯誤。

AndroidStudio使用的是android-maven-plugin外掛,在aAndroidStudio下報錯的原因,是因為宣告為點9圖片的檔案,實際上不是真正的點9圖片,解析圖片出錯。android-maven-plugin外掛會嚴格檢查圖片格式,如果不匹配就報錯。