【问题标题】:Error on nine patch image: Some file crunching failed, see logs for details九个补丁映像上的错误:某些文件处理失败,请参阅日志了解详细信息
【发布时间】:2017-11-17 03:32:38
【问题描述】:

由于这个构建错误,我无法将 Ninepatch png 添加到我的项目中:

信息:Gradle 任务 [:app:assembleDebug] 错误:一些文件 处理失败,请参阅日志了解详细信息错误:任务执行失败 ':app:mergeDebugResources'。

错误:某些文件处理失败,请参阅日志了解详细信息信息:BUILD FAILED 信息:总时间:11.955 秒 信息:2 个错误 信息:0 个警告 信息:查看完整 控制台输出

事实:我已经添加了一个运行良好的,另一个是用完全相同的方法、相同的边界和东西制作的,但会导致构建错误。

我试过了:

  • 干净
  • 重建项目
  • 重启AS
  • 重启电脑
  • 用 Photoshop 制作了九个补丁
  • 用 AS 内置九个补丁生成器制作了九个补丁
  • 各种命名约定
  • 缩短项目的dir路径
  • 添加 crunch: false 到 gradle

额外的重量:

  • 如果我只是将不工作的九个补丁的像素内容复制到工作的一个,则会出现错误。

此外,错误显示“查看日志”

日志在哪里???

因为它肯定不在 logcat 中。

如果可以,请提供帮助。这让我抓狂。 我真的很感兴趣为什么我必须花半天时间来导入图像。

【问题讨论】:

  • 资源中有 9patch 和没有 9patch 的图像吗?您是否也尝试过从 9patch 图像中删除 .9 并尝试将其命名为 .png ?
  • stackoverflow.com/a/4280451/3270494 你试过这个吗? “资源编译器会去除 9 个补丁的 1 个像素边界(并且可能会以更有效的方式将从它们获得的信息存储在 .9.png 文件之外)。如果你已经从这些 .9.png 文件中捞出.apk,您需要手动添加边框。”
  • 它肯定不是 logcat,因为如果我理解正确的话,它会显示您手机的运行时错误和信息,而您的问题是构建时问题。继续搜索构建时日志文件。
  • Where are the logs???执行./gradlew --debug assembleDebug
  • @AdamVarhegi 将图像放在可绘制文件夹中尝试清理项目...。您的图像的扩展名是什么?

标签: java android android-studio android-gradle-plugin nine-patch


【解决方案1】:

我收集了一些解决方案。请一一检查。希望对您有所帮助。

建议#1:

这是由路径长度限制引起的。我认为它最多 256 个字符。

重新定位您的项目,构建将成功。

资源链接: https://stackoverflow.com/a/25209204

建议#2:

有时 .9.png 图像已损坏。所以你可以在你的drawables目录中替换它。

资源链接:https://stackoverflow.com/a/41380118

建议#3:

最佳解决方案是在 build.gradle 中更改 buildDir:

例如:

allprojects {
    buildDir = "C:/tmp/${rootProject.name}/${project.name}"
    repositories {
        jcenter()
    }
}

重建并快乐编码。

资源链接: https://stackoverflow.com/a/41877283

建议#4:

您可以通过以下命令进行诊断:

./gradlew :app:mergeIntegrationDebugResources --debug > buildLog.txt

完成后,打开 buildLog.txt 文件,然后搜索“错误”(实际搜索中没有引号)。然后你会发现那些文件有问题,然后将其从相应的文件夹中删除,然后重新运行上面的命令,直到没有任何错误。

资源链接: https://stackoverflow.com/a/36648743

建议#5:

文件 >> 使缓存无效/重新启动

建议#6:

  1. 转到项目中的 build.gradle 文件。
  2. 更改:
dependencies {
    classpath 'com.android.tools.build:gradle:1.1.0'

到:

dependencies {
    classpath 'com.android.tools.build:gradle:1.1.3'

'com.android.tools.build:gradle:1.5.0' 也出现了同样的问题。在那种情况下降级它。

  1. 然后清理 --> 重建

资源链接: https://stackoverflow.com/a/31638208

建议#7:

对于任何有同样问题的人。这为我解决了这个问题:

http://stackoverflow.com/questions/22701405/aapt-ioexception-error-2-no-such-file-or-directory-why-cant-i-build-my-grad

这是 64 位操作系统的问题,因为 aapt 不可用,您必须安装这 2 个软件包:

sudo apt-get install lib32stdc++6 lib32z1

资源链接: https://github.com/facebook/react-native/issues/7320

【讨论】:

  • allprojects { buildDir = "C:/tmp/${rootProject.name}/${project.name}" repositories { jcenter() } } 这对我有用,非常感谢跨度>
【解决方案2】:

尝试将此添加到您的应用 build.gradle 文件中

 android {
    aaptOptions {  
                cruncherEnabled = false  
            } 
        }

【讨论】:

    【解决方案3】:

    我也遇到了同样的问题,删除了 9-patch png 文件的右下边框解决了这个问题。

    【讨论】:

      【解决方案4】:

      我有类似的问题,日志显示在 Gradle 控制台 中。对我来说问题是九个补丁图像是错误的,它在右边有 2 个垂直填充。我删除了 1 个垂直填充,它工作正常。

      【讨论】:

        【解决方案5】:

        我有同样的问题。 Errorenous 9patch 被遗忘到 mipmap 文件夹中..

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-09-04
          • 2017-06-30
          • 1970-01-01
          • 2013-09-21
          • 2017-10-06
          相关资源
          最近更新 更多