Some file crunching failed, see logs for details解決.9patch點(diǎn)9圖片的報(bào)錯(cuò)問題

前言:
前段時(shí)間,公司新項(xiàng)目開發(fā)完成。公司大佬仍了個(gè)eclipse的舊項(xiàng)目讓我改。本著Android Studio開發(fā)更加快捷,方便的理念,大佬讓我把項(xiàng)目轉(zhuǎn)成studio的項(xiàng)目,方便日后維護(hù)更新。轉(zhuǎn)完后發(fā)現(xiàn)出現(xiàn)下述問題。針對(duì)下述問題,總結(jié)可能出現(xiàn)的原因并給出解法方案。

▲ 異常log :

Android Studio:Error:Execution failed for task ':app:mergeDebugResources'. > Some file crunching failed, see logs for details

▲ 問題分析一:
在構(gòu)建Gradle的時(shí)候,Gradle會(huì)去檢查一下是否修改過文件的后綴名。一般大多數(shù)是出現(xiàn)在圖片上,.jpg修改成了.png就會(huì)出現(xiàn)這個(gè)問題

▲ 解決方案
如果是這個(gè)問題導(dǎo)致的,那就簡(jiǎn)單了,可以直接在build.gradle文件里添加以下代碼,然后點(diǎn)擊右上角的Sync Now同步一下即可,例如

android {
compileSdkVersion 23
buildToolsVersion "26.0.0"

aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false

defaultConfig {
minSdkVersion 5
targetSdkVersion 17
}

這兩行代碼意思是禁止gradle檢查png的合法性

▲ 問題分析二:
在Android Studio相比Eclipse中會(huì)對(duì).9圖進(jìn)行嚴(yán)格檢查,部分.9圖片是非法的就會(huì)出現(xiàn)上述問題

▲ 解決方案一
最簡(jiǎn)單,最冷暴力,最直接,最快捷的方法就是,將非法點(diǎn)9圖的格式圖片后綴修改成.png的格式(視實(shí)際情況使用)

▲ 解決方案二
上述的解決方法雖然可行,但是卻違背了最初我們使用點(diǎn)9圖的初衷。最好我們使用SDK/tools目錄下的“draw9patch.bat”文件進(jìn)行編輯,或者直接使用Android Studio的編輯器,將不合法的點(diǎn)9圖修正即可。圖形界面和編輯功能是一樣的,以Android Studio為例,解決步奏如下

工程里直接打開報(bào)錯(cuò)的點(diǎn)9圖,將下方工具欄的show bad patches選項(xiàng)和show content選項(xiàng)勾上。會(huì)看到如下圖片

show bad patches表示查看圖片中報(bào)錯(cuò)的區(qū)域,show content表示查看自動(dòng)拉伸的那一部分。

<font size=3>根據(jù)點(diǎn)9圖的繪制和制作方法,我們知道,四個(gè)邊至少需要保留一個(gè)小黑點(diǎn)即可。以左側(cè)和上側(cè)為例,將其拉伸至一個(gè)小黑點(diǎn),直至看不到報(bào)錯(cuò)的紅線區(qū)域,保留下側(cè)和右側(cè)的拉伸區(qū)域,即圖片修改完成。

如果發(fā)現(xiàn)點(diǎn)9圖太大還是太小,可以拖動(dòng)工具欄中“ZOOM”來調(diào)整大小,精確操作。

如果想精確查看點(diǎn)9圖的變化拉伸區(qū)域,可以拖動(dòng)“Patch scale”進(jìn)行查看。

當(dāng)然復(fù)雜的點(diǎn)9圖片根據(jù)實(shí)際情況再做調(diào)整修改,這里不再展示,方法同理。

▲ 注意:
我們常常習(xí)慣于將圖片文件存儲(chǔ)在mipmap的文件夾下,而點(diǎn)9圖不同,它是需要存放在drawable文件夾下

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容