在我将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文件,我的项目中没有这些文件。
感谢任何建议。
答案 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。