首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android Studio mergeDebugResources 失敗:libpng 錯誤排查

     編輯:程式設計疑難解答

錯誤現象

Error:Execution failed for task ':app:mergeDebugResources'.
Some file crunching failed, see logs for details
AAPT err: libpng error: Not a PNG file

原因分析

libpng error: Not a PNG file 表示 res/ 目錄下有副檔名為 .png 但實際格式不符 PNG 標準的檔案。常見情況:

  • 將 JPG/WebP/BMP 直接改名為 .png
  • 9-patch 圖(.9.png)邊框標記損壞或遺失
  • 圖片損毀、為空檔、或含有非標準色彩空間

排查步驟

  1. 查看完整 Log:在 Build 輸出點選「Toggle view」或執行 ./gradlew assembleDebug --info 找出具體檔案路徑。
  2. 驗證圖片格式:用圖片檢視器開啟可疑檔,另存為真正的 PNG。
  3. 檢查 9-patch 圖:確認四邊各有一像素黑線標記可拉伸區域,且無額外像素。
  4. 清理重建:Build → Clean Project → Rebuild Project。

快速修正腳本(Linux/macOS)

find app/src/main/res -name "*.png" -exec file {} \; | grep -v "PNG image data"

輸出非 PNG 的檔案即為問題源頭。

總結

資源合併失敗多半是假 PNG 或損壞 9-patch。善用 file 指令批次驗證,並養成「用圖片編輯器匯出 PNG」而非直接改副檔名的習慣。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved