任务'app:mergeDebugResources'Crunching Cruncher的执行失败.... png失败

bot*_*iks 103 android build gradle

我已经将一些格式为*.png的图片添加到我的drawable目录中,并将其与布局相关联.但每当我尝试构建它时,都会出现错误

"...... Crunching Crunsher ...... png失败了"

以下是控制台的输出:

app:mergeDebugResources
AAPT out(1561599) : No Delegate set : lost message:Done
AAPT out(12956469) : No Delegate set : lost message:Done
AAPT out(20612543) : No Delegate set : lost message:Crunching             C:\Dev\StudioProjects\test\android\app\src\main\res\drawable\bt_meeting_focused.png
AAPT out(11030156) : No Delegate set : lost message:Crunching     C:\Dev\StudioProjects\test\android\app\src\main\res\mipmap-mdpi\ic_launcher.png
AAPT out(11030156) : No Delegate set : lost message:Crunching single PNG file: C:\Dev\StudioProjects\test\android\app\src\main\res\mipmap-    mdpi\ic_launcher.png
AAPT out(11030156) : No Delegate set : lost message:    Output file:     C:\Dev\StudioProjects\test\android\app\build\intermediates\res\debug\mipmap-mdpi-v4\ic_launcher.png
AAPT out(11030156) : No Delegate set : lost message:Done
AAPT err(11030156): libpng error: Not a PNG file
AAPT out(20612543) : No Delegate set : lost message:Crunching single PNG     file:     C:\Dev\StudioProjects\test\android\app\src\main\res\drawable\bt_meeting_focused.png
AAPT out(20612543) : No Delegate set : lost message:    Output file:     C:\Dev\StudioProjects\test\android\app\build\intermediates\res\debug\drawable\b    t_meeting_focused.png
AAPT out(20612543) : No Delegate set : lost message:Done
AAPT err(20612543): libpng error: Not a PNG file
AAPT err(1561599): libpng error: Not a PNG file
AAPT err(12956469): libpng error: Not a PNG file

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Crunching Cruncher uhr.png failed, see logs

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --    debug option to get more log output.

BUILD FAILED

Total time: 14.598 secs
Executing tasks: [clean, :app:generateDebugSources,     :app:generateDebugAndroidTestSources]

Configuration on demand is an incubating feature.
:app:clean
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportSupportV42220Library
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources
:app:mergeDebugResources
AAPT out(14080484) : No Delegate set : lost message:Done
AAPT out(9206750) : No Delegate set : lost message:Done
AAPT out(25360025) : No Delegate set : lost message:Done
AAPT err(25360025): libpng error: Not a PNG file
AAPT err(14080484): libpng error: Not a PNG file
AAPT out(6423170) : No Delegate set : lost message:Crunching C:\Dev\StudioProjects\test\android\app\src\main\res\drawable\anfrage_senden_.png
AAPT err(6423170): libpng error: Not a PNG file
AAPT out(6423170) : No Delegate set : lost message:Crunching single PNG file:     C:\Dev\StudioProjects\test\android\app\src\main\res\drawable\anfrage_senden_.png
AAPT out(6423170) : No Delegate set : lost message: Output file: C:\Dev\StudioProjects\test\android\app\build\intermediates\res\debug\drawable\a    nfrage_senden_.png
AAPT out(6423170) : No Delegate set : lost message:Done
AAPT err(9206750): libpng error: Not a PNG file

Process list not empty
:app:mergeDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Crunching Cruncher uhr.png failed, see logs

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --    debug option to get more log output.

BUILD FAILED

Total time: 4.325 secs
Run Code Online (Sandbox Code Playgroud)

我试图清理项目,重建它,通过"gradlew clean build --refresh-dependencies"刷新依赖项,没有任何效果.我已经检查了build.gradle文件中的依赖项,但似乎没有创建错误.

   apply plugin: 'com.android.application'
   android {
   compileSdkVersion 22
   buildToolsVersion "22.0.1"
   compileOptions.encoding = 'windows-1251'

   defaultConfig {
       applicationId "com.example.benutzer.test"
       minSdkVersion 16
       targetSdkVersion 22
       versionCode 1
       versionName "1.0"
   }
   buildTypes {
    release {
           minifyEnabled false
           proguardFiles getDefaultProguardFile('proguard-android.txt'),    'proguard-rules.pro'
       }
   }
   }

   dependencies {
   compile 'com.android.support:support-v4:22.2.0'
  }
Run Code Online (Sandbox Code Playgroud)

你有一个想法,错误的来源是什么?文件路径也不会太长,每次都有256个标志,这也不是问题:/

先感谢您 :)

smo*_*mut 128

在我的情况下,错误是由我添加到drawable文件夹的PNG文件引起的.我通过更改文本(以不正确的方式)将其扩展名从jpg更改为png,然后将其上传为PNG.

这是Android Studio指向的问题.

我修复了这个问题并通过使用Paint.NET工具或任何其他工具(正确的方式)更改文件扩展名,然后将其上传到drawable文件夹来消除错误.

  • 提示:如果你在mac os上,你可以打开终端并从images文件夹运行以下命令:'sips -s format png*.png --out.' 它会正确地将.png sufix的所有文件转换为真正的PNG文件:) (13认同)
  • 这个问题也适用于我.非常感谢你的回答. (2认同)

Lak*_*rma 116

我通过将项目移动到外部目录来修复此问题,然后成功编译.

这是由于项目目录的长路径.

例如,我移动了项目:

D:/Android/Apps/AndroidStudioProject/AppName
Run Code Online (Sandbox Code Playgroud)

D:/Android/AppName
Run Code Online (Sandbox Code Playgroud)

  • 可能是由于长路径问题. (8认同)

ana*_*ish 53

这是因为在drawable中添加了一个像(.jpg)这样的扩展名的图像,并且您已将其更改或保存为.png格式(在不使用编辑器工具的情况下手动更改图像格式时会发生此错误).

使用AAPT(Android资产包装工具)编译资源包时,Android Studio会抛出错误,因此您只需使用GIMPPaint等图像编辑器工具来相应地保存扩展.一切都完成后重建你的项目.

例如:在画图打开图像(拖放图像打开它)→菜单文件另存为保存类型 →选择就像我在下面的图片表明,从下拉菜单中你需要的类型:

在此输入图像描述

在此输入图像描述


小智 20

就我而言,解决方案很简单.我将整个项目移动到路径较短的另一个位置.

问题是由长目录名称和文件名引起的.

  • OP确实说文件路径不长.如果你想挑战他,也许评论会更好. (5认同)

小智 20

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

例如:

allprojects {
    buildDir = "C:/tmp/${rootProject.name}/${project.name}"
    repositories {
        jcenter()
    }
}
Run Code Online (Sandbox Code Playgroud)

重建和快乐编码.


SID*_*ode 9

在我的情况下,我通过简单地更改我的库文件解决了这个问题,因为我犯了一个愚蠢的错误,即添加了同一个库的两个不同版本.

由于这可能是由于各种原因,我发现以下方法可以解决这个问题:

  1. 资源不匹配

  2. 资源中缺少属性,错误标记等

  3. 风格问题

  4. 样式中缺少名称

  5. 资源和库的重复

  6. 有时它甚至可以通过更改build.gradle中的兼容库来解决

  7. 执行aapt命令

  8. 将扩展名从.jpg重命名为.png

  9. 只需借助Clean Project.

    1. 即使在某些情况下,重新启动Android Studio也可以解决问题.


Sun*_*man 0

关闭 Android Studio 并再次打开解决了我的问题。

试一试。我知道这不是正确的解决方案或答案,但它有效。我不确定根本原因。如果有人可以分享的话那就太好了。


归档时间:

查看次数:

224674 次

最近记录:

7 年,7 月 前