Android工作室问题与PNG

时间:2015-05-01 14:54:11

标签: android-studio android-gradle libpng aapt

我将项目从eclipse迁移到Android Studio。当我尝试运行应用程序时,构建崩溃时出现以下情况:

AAPT err(102196253): I:\Workspace\AudioRecStudio\app\build\intermediates\exploded-aar\AudioRecStudio\audiorecresources\unspecified\res\drawable-xxhdpi-v4\ic_playback.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
AAPT err(892575140): I:\Workspace\AudioRecStudio\app\build\intermediates\exploded-aar\AudioRecStudio\audiorecresources\unspecified\res\drawable-mdpi-v4\ic_pause_notification.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
AAPT err(1822584146): I:\Workspace\AudioRecStudio\app\build\intermediates\exploded-aar\AudioRecStudio\audiorecresources\unspecified\res\drawable-hdpi-v4\ic_settings_nav_drawer.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
 ....... and so on....

我必须提到我无法运行该项目。我还没有找到任何解决方案。

1 个答案:

答案 0 :(得分:1)

不知何故,您的系统正在宣传错误警告。应用程序可以通过在应用程序中放入以下行并重新编译来强制跳过sRGB检查

png_set_option(png_ptr, PNG_SKIP_sRGB_CHECK_PROFILE, PNG_OPTION_ON);

如libpng手册中所述。这个检查是在libpng 1.6.0版本中添加的,并且在libpng 1.6.11版本中添加了跳过检查的选项。

真正的解决方法是修复PNG文件(如果您有权访问它们),删除错误的sRGB配置文件,或者请求在上游修复它们。如果你还没有将libpng升级到当前版本libpng-1.6.17,那就试试吧,因为libpng-1.6.0和更高版本接受了一些被libpng-1.6.0到1.6.11错误拒绝的配置文件。此外,尝试找出是否有办法配置您的应用程序,以便它将警告处理为警告而不是致命错误。

作为最后的手段,您可以将libpng降级到版本1.5.x(1.5系列中的最新版本是1.5.22),它不会检查sRGB配置文件,或者您可以在定义了PNG_sRGB_PROFILE_CHECKS = -1的情况下重建libpng16。