我从以下位置升级了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"
那么如何解决呢?
答案 0 :(得分:8)
警告您png图像有一些无效的元数据。 最简单有效的解决方案是使用pngcrush和optipng实用程序优化您的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软件包管理器安装pngcrush
和optipng
:
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= "{}" ";"