Android Studio:"libpng警告:iCCP:无法识别已编辑的已知sRGB配置文件"

Ama*_*iam 3 android android-studio

我有升级gradle:

dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1'
    }
Run Code Online (Sandbox Code Playgroud)

至 :

dependencies {
        classpath 'com.android.tools.build:gradle:1.4.0-beta3'
    }
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

AAPT err(Facade for 1057495093): E:\android_studio_workspace\P2JN\p2jn\src\main\res\drawable-mdpi\reload_data.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
AAPT err(Facade for 1057495093): E:\android_studio_workspace\P2JN\p2jn\src\main\res\drawable\teamwork.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
AAPT err(Facade for 2049818754): E:\android_studio_workspace\P2JN\p2jn\src\main\res\drawable-hdpi\ic_action_update.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
AAPT err(Facade for 2049818754): E:\android_studio_workspace\P2JN\p2jn\src\main\res\drawable-ldpi\reload_data.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
AAPT err(Facade for 2049818754): E:\android_studio_workspace\P2JN\p2jn\src\main\res\drawable\get_started.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
Run Code Online (Sandbox Code Playgroud)

在我的gradle项目上编辑了 buildToolsVersion:

buildToolsVersion "23.0.1"
Run Code Online (Sandbox Code Playgroud)

那怎么解决呢?

mix*_*xel 8

这是一个警告,你png图像有一些无效的元数据.最简单有效的解决方案是使用pngcrushoptipng实用程序优化您的png图像.

pngcrush -ow -rem allb -brute -reduce image.png
Run Code Online (Sandbox Code Playgroud)

optipng -o7 image.png
Run Code Online (Sandbox Code Playgroud)

在每个导致错误的图像上.

在macOS和Linux上,您可以使用bash脚本查找当前目录及其所有子目录中的所有png图像并对其进行优化:

#!/bin/sh

for i in `find . -name "*.png"`; do
    pngcrush -ow -rem allb -brute -reduce $i
    optipng -o7 $i
done
Run Code Online (Sandbox Code Playgroud)

对于Windows,将以下内容保存到批处理文件并运行:

@echo off
set /p UserInputPath= What Directory would you like?
cd %UserInputPath%
for /r %%i in (*.png) do ( pngcrush -ow -rem allb -brute -reduce "%%i" & optipng -o7 "%%i" )
Run Code Online (Sandbox Code Playgroud)

要安装pngcrushoptipng在macOS上使用Homebrew包管理器:

brew install pngcrush optipng
Run Code Online (Sandbox Code Playgroud)