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

时间:2015-10-01 08:33:59

标签: android android-studio

我从以下位置升级了gradle:

dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1'
    }

到:

dependencies {
        classpath 'com.android.tools.build:gradle:1.4.0-beta3'
    }

但是我收到了错误:

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
我的gradle项目

已编辑 buildToolsVersion:

buildToolsVersion "23.0.1"

那么如何解决呢?

3 个答案:

答案 0 :(得分:8)

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

运行

pngcrush -ow -rem allb -brute -reduce image.png

optipng -o7 image.png

每张导致错误的图片。

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

#!/bin/sh

for i in `find . -name "*.png"`; do
    pngcrush -ow -rem allb -brute -reduce $i
    optipng -o7 $i
done

对于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" )

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

brew install pngcrush optipng

答案 1 :(得分:0)

您应该将应用图标移动到mipmap文件夹。

  

最佳做法是将应用程序图标放在mipmap文件夹(而不是drawable文件夹)中,因为它们的分辨率与设备的当前密度不同。

答案 2 :(得分:0)

这与将png库升级到6.0有关 - 它以不同的方式解释png文件。

要修复它,你应该浏览所有的png文件来修复它。

以下是我从命令行执行此操作的方法:

brew install exiftool
cd /Drawable
find . -name "*.png" -exec exiftool -overwrite_original -all= "{}" ";"