项目报错-Some file crunching failed, see logs for details

参考:Android Studio 报错 Error:Some file crunching failed, see logs for details

项目报错问题:

Error:Some file crunching failed, see logs for details


Error:Execution failed for task ':app:mergeDebugResources'.
> Error: Some file crunching failed, see logs for details

原因:

这是9-patch图片资源文件的问题

解决方法:

1、修改9-patch图片:

点击右下角的Gradle Console,查看gradle详细日志,比如我的项目:

Executing tasks: [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies]

Configuration on demand is an incubating feature.
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  It is currently set to D:\Users\Android\sdk\ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

useNewCruncher has been deprecated. It will be removed in a future version of the gradle plugin. New cruncher is now always enabled.
Incremental java compilation is an incubating feature.
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAnimatedVectorDrawable2531Library
:app:prepareComAndroidSupportAppcompatV72531Library
:app:prepareComAndroidSupportConstraintConstraintLayout102Library
:app:prepareComAndroidSupportSupportCompat2531Library
:app:prepareComAndroidSupportSupportCoreUi2531Library
:app:prepareComAndroidSupportSupportCoreUtils2531Library
:app:prepareComAndroidSupportSupportFragment2531Library
:app:prepareComAndroidSupportSupportMediaCompat2531Library
:app:prepareComAndroidSupportSupportV42531Library
:app:prepareComAndroidSupportSupportVectorDrawable2531Library
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources

AAPT err(Facade for 1520024021): 
ERROR: 9-patch image \\?\D:\Users\Administrator\AndroidStudioProjects\Njb\app\src\main\res\drawable-xhdpi\iv_log_et_bg.9.png malformed.
AAPT err(Facade for 147729603): 
ERROR: 9-patch image \\?\D:\Users\Administrator\AndroidStudioProjects\Njb\app\src\main\res\drawable-xhdpi\commentlist.9.png malformed.
AAPT err(Facade for 1423460849): 
ERROR: 9-patch image \\?\D:\Users\Administrator\AndroidStudioProjects\Njb\app\src\main\res\drawable-mdpi\navbar.9.png malformed.
AAPT err(Facade for 1520024021):        Frame pixels must be either solid or transparent (not intermediate alphas).
AAPT err(Facade for 1423460849):        Must have one-pixel frame that is either transparent or white.
AAPT err(Facade for 147729603):        Frame pixels must be either solid or transparent (not intermediate alphas).
AAPT err(Facade for 1520024021):        Found at pixel #1 along bottom edge.
AAPT err(Facade for 147729603):        Found at pixel #565 along top edge.
AAPT err(Facade for 147729603): 
ERROR: 9-patch image \\?\D:\Users\Administrator\AndroidStudioProjects\Njb\app\src\main\res\drawable-xhdpi\supply_demand_add.9.png malformed.
AAPT err(Facade for 147729603):        Frame pixels must be either solid or transparent (not intermediate alphas).
AAPT err(Facade for 147729603):        Found at pixel #70 along top edge.

Error: Some file crunching failed, see logs for details
:app:mergeDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Error: Some file crunching failed, see logs for details

* 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: 23.603 secs

先看下英文意思:

malformed:畸形

facade:表面

Frame pixels must be either solid or transparent (not intermediate alphas).
边框像素必须实心或者透明(不能中间的透明度)

Must have one-pixel frame that is either transparent or white.
必须有一个透明或白色的像素边框。

在上面的错误日志中我们知道哪些9-patch图片是有问题的,然后一张张的找到,操作如下:

这里写图片描述

按住Ctrl或者shift,点击鼠标左键在边界像素上调节黑色部分,直到我们需要的区域且不报错即可。

这里写图片描述

完成后sync,clean一下即可。

2、添加9-patch忽略:

如果还有问题,在APP的build.gradle添加Android studio忽略对9-patch的检查

    aaptOptions {
        cruncherEnabled = false
        useNewCruncher = false
    }

如下:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.3'

    aaptOptions {
        cruncherEnabled = false
        useNewCruncher = false
    }

    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/ASL2.0'
    }

    defaultConfig {
        applicationId "com.example.administrator.njb"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
}
当你在Android Studio中构建项目时,有时可能会遇到错误消息“Some file crunching failed, see logs for details”或类似的错误提示。这通常是由于资源文件(例如图像或XML文件)太大而导致的。解决此问题的方法如下: 1. 检查资源文件大小:如果你遇到这个错误,首先应该检查你的项目中是否存在过大的资源文件,例如图像或XML文件。如果是这种情况,你可以尝试将这些文件压缩或缩小,或者将它们分解成更小的文件。 2. 增加堆大小限制:在某些情况下,错误可能是由于JVM堆大小限制过小而导致的。你可以尝试增加堆大小限制,例如在你的项目的Gradle脚本中添加以下行: ```java android { ... dexOptions { javaMaxHeapSize "4g" } } ``` 这将增加JVM堆大小限制为4GB。根据你的项目需要,你可以将其设置为更高或更低的值。 3. 禁用文件压缩:如果你的资源文件已经被压缩,你可以尝试禁用文件压缩。你可以在你的项目的Gradle脚本中添加以下行: ```java android { ... aaptOptions { cruncherEnabled = false } } ``` 这将禁用aapt压缩器,从而避免在构建项目时出现crunching错误。 4. 清除缓存:如果上述方法都无法解决问题,你可以尝试清除Android Studio的缓存。在Android Studio的菜单栏中选择“File”>“Invalidate caches/Restart”,然后选择“Invalidate and Restart”选项。这将清除Android Studio的缓存,并重新启动Android Studio。 如果你仍然无法解决问题,请查看构建日志以获取更多信息,并尝试通过搜索类似的错误消息来找到解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值