andriod ./gradlew build 提示.9 图片报错 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
linus
V2EX    Android

andriod ./gradlew build 提示.9 图片报错

  •  
  •   linus 2016-06-07 09:29:19 +08:00 13821 次点击
    这是一个创建于 3420 天前的主题,其中的信息可能已经有所发展或是发生改变。
    :preBuild
    :compileDebugNdk UP-TO-DATE
    :preDebugBuild
    :checkDebugManifest
    :prepareDebugDependencies
    :compileDebugAidl UP-TO-DATE
    :compileDebugRenderscript UP-TO-DATE
    :generateDebugBuildConfig UP-TO-DATE
    :generateDebugAsets UP-TO-DATE
    :mergeDebugAssets UP-TO-DATE
    :generateDebugResValues UP-TO-DATE
    :generateDebugResources UP-TO-DATE
    :mergeDebugResources
    ERROR: 9-patch image /root/workspace/ReinforceApk/res/drawable-hdpi/bg_tab_bottom_r_f1_1.9.png malformed.
    Must have one-pixel frame that is either transparent or white.
    Error: Failed to run command:
    /root/revo/tools/SDK/build-tools/23.0.3/aapt s -i /root/workspace/ReinforceApk/res/drawable-hdpi/bg_tab_bottom_r_f1_1.9.png -o /root/workspace/ReinforceApk/build/intermediates/res/debug/drawable-hdpi-v4/bg_tab_bottom_r_f1_1.9.png
    Error Code:
    42
    Output:
    ERROR: 9-patch image /root/workspace/ReinforceApk/res/drawable-hdpi/bg_tab_bottom_r_f1_1.9.png malformed.
    Must have one-pixel frame that is either transparent or white.

    :mergeDebugResources FAILED
    ERROR: 9-patch image /root/workspace/ReinforceApk/res/drawable/rb_sub_jian.9.png malformed.
    Must have one-pixel frame that is either transparent or white.

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':mergeDebugResources'.
    > Error: Failed to run command:
    /root/revo/tools/SDK/build-tools/23.0.3/aapt s -i /root/workspace/ReinforceApk/res/drawable-hdpi/bg_tab_bottom_r_f1_1.9.png -o /root/workspace/ReinforceApk/build/intermediates/res/debug/drawable-hdpi-v4/bg_tab_bottom_r_f1_1.9.png
    Error Code:
    42
    Output:
    ERROR: 9-patch image /root/workspace/ReinforceApk/res/drawable-hdpi/bg_tab_bottom_r_f1_1.9.png malformed.
    Must have one-pixel frame that is either transparent or white.
    19 条回复    2017-01-03 18:34:57 +08:00
    Bown
        1
    Bown  
       2016-06-07 09:35:24 +08:00
    点 9 图格式有问题,标准的点 9 图最外层得有一圈一像素的透明或白色边框
    willchen
        2
    willchen  
       2016-06-07 09:38:08 +08:00 via iPhone
    图片命名有问题?
    bkmi
        3
    bkmi  
       2016-06-07 09:40:05 +08:00
    程序猿还是稍微学点英文吧
    saberpowermo
        4
    saberpowermo  
       2016-06-07 10:01:57 +08:00
    Must have one-pixel frame that is either transparent or white 。。
    这不是说的很清楚么
    linus
        5
    linus  
    OP
       2016-06-07 10:05:13 +08:00
    @Bown
    资源文件是从别人的 app 里面提取的 直接改图片不现实 有很多张
    有其他方法吗?
    linus
        6
    linus  
    OP
       2016-06-07 10:05:41 +08:00
    @willchen
    资源文件是从别人的 app 里面提取的 我不可能改图片的
    linus
        7
    linus  
    OP
       2016-06-07 10:06:48 +08:00
    @bkmi
    我又不是看不懂英文 google 了好久 发现都是说的一楼的问题 想知道有没有其他方法
    linus
        8
    linus  
    OP
       2016-06-07 10:07:22 +08:00
    @saberpowermo
    资源文件是从别人的 app 里面提取的 直接改图片不现实 有很多张
    linus
        9
    linus  
    OP
       2016-06-07 10:13:07 +08:00
    在 stackoverflow 上看到 说用下面两个参数 可以关闭 PNG 合法性检查的 但是也没用
    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false
    MASAILA
        10
    MASAILA  
       2016-06-07 10:28:40 +08:00
    @linus .9 文件如果是直接解压出来的话是用不了的 要反编译
    ShanLin
        11
    ShanLin  
       2016-06-07 10:35:21 +08:00
    有个批量工具格式化 png 格式改下就行了
    mogrify
    reHuo
        12
    reHuo  
       2016-06-07 10:44:50 +08:00
    图片提取别的 app 也可以自己改 啊 用 android studio 双击.9 图片 打开 修改
    Bown
        13
    Bown  
       2016-06-07 11:34:30 +08:00
    @linus 只想编译通过的话,.9.png => .png 去掉.9 就好了
    pynix
        14
    pynix  
       2016-06-07 11:36:51 +08:00
    这么明显的错误啦..
    missingbobo
        15
    missingbobo  
       2016-06-07 11:38:01 +08:00
    我也遇到了,是 build tools 版本的问题, classpath 'com.android.tools.build:gradle:2.1.0'

    这个就没事
    wenmingvs
        16
    wenmingvs  
       2016-06-07 11:39:50 +08:00 via Android
    我之前也遇到这个问题。你肯定把 Eclipse 里面的.9 图拿来用了吧。 AS 会自动检查.9 图的合法性,你需要在 AS 中打开这张图片,按住 ctrl 健,用鼠标在图片边缘点击,设置他的拉伸位置就可以
    wenmingvs
        17
    wenmingvs  
       2016-06-07 11:41:01 +08:00 via Android
    如果图片是矩形或者正方形,要在他的四条边都设置拉伸的区域,记住
    CodeGou
        18
    CodeGou  
       2016-06-07 14:56:58 +08:00
    我感觉是文件夹放错了吧~ 应该放在 drawable 里面~
    yy1300326388
        19
    yy1300326388  
       2017-01-03 18:34:57 +08:00
    如果不会做.9 的就让美工去给你弄一下,她不会,你就百度一下吧,是图的问题,但是引用的时候 AS 默认会给你带上.9 一定要去掉:
    原图: aaa.9.png
    错误默认引用:@mipmap/aaa.9
    正确引用:@mipmap/aaa
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2090 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 00:56 PVG 08:56 LAX 17:56 JFK 20:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86