V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
linus
V2EX  ›  Android

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

  •  
  •   linus · Jun 7, 2016 · 14908 views
    This topic created in 3615 days ago, the information mentioned may be changed or developed.
    :preBuild
    :compileDebugNdk UP-TO-DATE
    :preDebugBuild
    :checkDebugManifest
    :prepareDebugDependencies
    :compileDebugAidl UP-TO-DATE
    :compileDebugRenderscript UP-TO-DATE
    :generateDebugBuildConfig UP-TO-DATE
    :generateDebugAssets 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 replies    2017-01-03 18:34:57 +08:00
    Bown
        1
    Bown  
       Jun 7, 2016
    点 9 图格式有问题,标准的点 9 图最外层得有一圈一像素的透明或白色边框
    willchen
        2
    willchen  
       Jun 7, 2016 via iPhone
    图片命名有问题?
    bkmi
        3
    bkmi  
       Jun 7, 2016
    程序猿还是稍微学点英文吧
    saberpowermo
        4
    saberpowermo  
       Jun 7, 2016
    Must have one-pixel frame that is either transparent or white 。。
    这不是说的很清楚么
    linus
        5
    linus  
    OP
       Jun 7, 2016
    @Bown
    资源文件是从别人的 app 里面提取的 直接改图片不现实 有很多张
    有其他方法吗?
    linus
        6
    linus  
    OP
       Jun 7, 2016
    @willchen
    资源文件是从别人的 app 里面提取的 我不可能改图片的
    linus
        7
    linus  
    OP
       Jun 7, 2016
    @bkmi
    我又不是看不懂英文 google 了好久 发现都是说的一楼的问题 想知道有没有其他方法
    linus
        8
    linus  
    OP
       Jun 7, 2016
    @saberpowermo
    资源文件是从别人的 app 里面提取的 直接改图片不现实 有很多张
    linus
        9
    linus  
    OP
       Jun 7, 2016
    在 stackoverflow 上看到 说用下面两个参数 可以关闭 PNG 合法性检查的 但是也没用
    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false
    MASAILA
        10
    MASAILA  
       Jun 7, 2016
    @linus .9 文件如果是直接解压出来的话是用不了的 要反编译
    ShanLin
        11
    ShanLin  
       Jun 7, 2016
    有个批量工具格式化 png 格式改下就行了
    mogrify
    reHuo
        12
    reHuo  
       Jun 7, 2016
    图片提取别的 app 也可以自己改 啊 用 android studio 双击.9 图片 打开 修改
    Bown
        13
    Bown  
       Jun 7, 2016
    @linus 只想编译通过的话,.9.png => .png 去掉.9 就好了
    pynix
        14
    pynix  
       Jun 7, 2016
    这么明显的错误啦..
    missingbobo
        15
    missingbobo  
       Jun 7, 2016
    我也遇到了,是 build tools 版本的问题, classpath 'com.android.tools.build:gradle:2.1.0'

    这个就没事
    wenmingvs
        16
    wenmingvs  
       Jun 7, 2016 via Android
    我之前也遇到这个问题。你肯定把 Eclipse 里面的.9 图拿来用了吧。 AS 会自动检查.9 图的合法性,你需要在 AS 中打开这张图片,按住 ctrl 健,用鼠标在图片边缘点击,设置他的拉伸位置就可以
    wenmingvs
        17
    wenmingvs  
       Jun 7, 2016 via Android
    如果图片是矩形或者正方形,要在他的四条边都设置拉伸的区域,记住
    CodeGou
        18
    CodeGou  
       Jun 7, 2016
    我感觉是文件夹放错了吧~ 应该放在 drawable 里面~
    yy1300326388
        19
    yy1300326388  
       Jan 3, 2017
    如果不会做.9 的就让美工去给你弄一下,她不会,你就百度一下吧,是图的问题,但是引用的时候 AS 默认会给你带上.9 一定要去掉:
    原图: aaa.9.png
    错误默认引用:@mipmap/aaa.9
    正确引用:@mipmap/aaa
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2439 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 05:25 · PVG 13:25 · LAX 22:25 · JFK 01:25
    ♥ Do have faith in what you're doing.