某些文件运算失败,mergeDebugResources FAILED

时间:2017-03-06 10:03:52

标签: android

在我将Android Studio从2.2更新到2.3后,今天发生了此错误,并将应用程序运行到了我的手机。上周五一切都很好。这个星期一的礼物毁了我的一整天 Gradle设置是"使用本地gradle分发",版本3.3。

日志信息如下,因为它太长而且所有这些都相似,我只是复制了一些片段:

Error: Some file crunching failed, see logs for details
:app:mergeDebugResources FAILED
AAPT: \\?\C:\Users\任\.android\build-cache\41cfce3bb6e2ca4b269727fe91725c24a067ec68\output\res\drawable-mdpi-v4\abc_btn_switch_to_on_mtrl_00012.9.png ERROR: Unable to open PNG file
AAPT: \\?\C:\Users\任\.android\build-cache\41cfce3bb6e2ca4b269727fe91725c24a067ec68\output\res\drawable-xxhdpi-v4\abc_ic_star_half_black_48dp.png ERROR: Unable to open PNG file
AAPT: \\?\C:\Users\任\.android\build-cache\41cfce3bb6e2ca4b269727fe91725c24a067ec68\output\res\drawable-hdpi-v4\abc_ic_menu_share_mtrl_alpha.png ERROR: Unable to open PNG file
AAPT: \\?\C:\Users\任\.android\build-cache\41cfce3bb6e2ca4b269727fe91725c24a067ec68\output\res\drawable-xxhdpi-v4\abc_text_select_handle_middle_mtrl_light.png ERROR: Unable to open PNG file

AAPT err(Facade for 925134644) : No Delegate set : lost message:\\?\C:\Users\任\.android\build-cache\41cfce3bb6e2ca4b269727fe91725c24a067ec68\output\res\drawable-hdpi-v4\abc_ic_star_half_black_48dp.png ERROR: Unable to open PNG file
AAPT err(Facade for 925134644) : No Delegate set : lost message:\\?\C:\Users\任\.android\build-cache\41cfce3bb6e2ca4b269727fe91725c24a067ec68\output\res\drawable-mdpi-v4\abc_switch_track_mtrl_alpha.9.png ERROR: Unable to open PNG file

build.gradle如下:

apply plugin: 'com.android.application'
android {
    compileSdkVersion 25
    buildToolsVersion '25.0.2'

    aaptOptions {
        cruncherEnabled = false
    }

    defaultConfig {
        minSdkVersion 18
        targetSdkVersion 18
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            assets.srcDirs = ['src/main/assets', 'src/main/assets/']
        }
    }

    useLibrary 'org.apache.http.legacy'

    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:25.2.0'
        compile 'com.android.support:support-v4:25.2.0'
        compile 'com.jakewharton:butterknife:7.0.1'
        compile 'org.jetbrains:annotations-java5:15.0'
    }
}

根据其他问题的建议,虽然有些答案太过时了,但我仍然尝试了以下方法,不幸的是,他们都没有救我: 1.从我的项目中删除所有.9.png文件 2.检查所有png文件是否为真正的PNG 3.将以下设置插入build.gradle:

aaptOptions {  
    cruncherEnabled = false  
}  

4。检查项目文件路径,未达到255个字符(Windows 10) 5.清除gradle缓存。
6.使缓存无效并重新启动 7.清理项目。

我认为日志信息会将我引导至由Android Studio自动生成的文件。试图搜索错误的.png文件,我的项目中没有这些文件。

感谢任何建议。

2 个答案:

答案 0 :(得分:8)

问题解决了。解决方案是here

相关数据如下:
1.根据Android Studio 2.3版的发行说明,默认启用构建缓存 2.所以我们应该禁用此设置。以下是官方指南,Android Studio /用户指南/构建缓存(链接https://developer.android.com/studio/build/build-cache.html) 3.转到gradle.properties文件,并禁用构建缓存。

// To re-enable the build cache, either delete the following
// line or set the property to 'true'.
android.enableBuildCache=false

另一种方法是通过添加

来修改构建缓存目录
# first line can be skipped because true is the default value by 2.3
android.enableBuildCache=true
android.buildCacheDir =c:\\temp\\

答案 1 :(得分:0)

导致此错误,因为在您的drawable中你必须将扩展名从其他格式更改为.png。我建议更改扩展使用MS paint或其他图像编辑应用程序,如Gimp。