我正在转向Gradle构建。但我有很多9补丁图像的这个错误。
请注意,drawable是由http://android-holo-colors.com
自动生成的
但他们已经老了。
我正在使用android studio 0.5.1
我的构建工具版本是19.0.3
这是错误
Error:Execution failed for task ':app:mergeDebugResources'.
> Error: Failed to run command:
/Applications/Android Studio.app/sdk/build-tools/19.0.3/aapt s -i /Users/Ed/Desktop/TestAndroid/app/src/main/res/drawable-mdpi/spinner_default_holo_dark.9.png -o /Users/Ed/Desktop/TestAndroid/app/build/res/all/debug/drawable-mdpi/spinner_default_holo_dark.9.png
Error Code:
42
Output:
ERROR: 9-patch image /Users/Ed/Desktop/TestAndroid/app/src/main/res/drawable-mdpi/spinner_default_holo_dark.9.png malformed.
Frame pixels must be either solid or transparent (not intermediate alphas).
Found at pixel #3 along top edge.
/Users/Ed/Desktop/TestAndroid/app/src/main/res/drawable-hdpi/cab_background_bottom_test.9.png
Error:Ticks in transparent frame must be black or red. - ERROR: 9-patch image /Users/Ed/Desktop/TestAndroid/app/src/main/res/drawable-mdpi/spinner_default_holo_dark.9.png malformed.
任何人都遇到同样的问题。
答案 0 :(得分:5)
您是否尝试过按错误日志中的建议? 即看看第3个(如果将它视为零索引,可能是第4个?)图像编辑器中顶行的像素:
如果答案是“否”,那么我猜这是你的问题。这显然也需要应用于图像边缘周围的所有其他标记像素。
我会将此添加为评论,但没有足够的代表 - 抱歉。
答案 1 :(得分:2)
我在其他Feed中看到了一个解决方案,修复此问题的方法是使用draw9patch工具打开图像并直接保存。我用这种方式来解决这个问题。 关于“draw9patch”,您可以在Android sdk文件夹的tools目录中使用该工具,或者通过单击Android Studio中的图像直接使用它,它也使用draw9patch。
答案 2 :(得分:0)
我的两分钱,
我用photoshop创建了我的9patch并遇到了这个错误。
我在刷子模式下使用了画笔工具,黑色用于绘制边框像素(内容和拉伸)
刷子的问题在于它还会使用极少量非常透明的黑色来连续连续像素,这样您就无法看到它。在1px蜡笔模式下使用橡皮擦在所有应该透明的像素上为我工作。
在photoshop中处理九个补丁时,请始终使用蜡笔模式中的画笔工具