关闭

【我的Android进阶之旅】Android目录过长造成错误:Failed to crunch file abc_textfield_search_activated_mtrl_alpha.9.png

标签: androidandroid studiogradle
1902人阅读 评论(0) 收藏 举报
分类:

一、编译异常描述

一大早来开发一个新的需求,拉取了一个新的分支,然后导入Android Studio之后,编译就报错了,报错如下所示:
这里写图片描述

错误具体日志如下所示:

Information:Gradle tasks [:app:assembleDebug]
Error:Failed to crunch file C:\Code\XTC_NetEaseCloudMusic\branches\APP_NetEaseCloudMusic_UseByAnonymous\NetEaseCloudeMusic\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\25.2.0\res\drawable-xhdpi-v4\abc_textfield_search_activated_mtrl_alpha.9.png into C:\Code\XTC_NetEaseCloudMusic\branches\APP_NetEaseCloudMusic_UseByAnonymous\NetEaseCloudeMusic\app\build\intermediates\res\merged\debug\drawable-xhdpi-v4\abc_textfield_search_activated_mtrl_alpha.9.png
Error:Execution failed for task ':app:mergeDebugResources'.
> Error: Failed to crunch file C:\Code\XTC_NetEaseCloudMusic\branches\APP_NetEaseCloudMusic_UseByAnonymous\NetEaseCloudeMusic\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\25.2.0\res\drawable-xhdpi-v4\abc_textfield_search_activated_mtrl_alpha.9.png into C:\Code\XTC_NetEaseCloudMusic\branches\APP_NetEaseCloudMusic_UseByAnonymous\NetEaseCloudeMusic\app\build\intermediates\res\merged\debug\drawable-xhdpi-v4\abc_textfield_search_activated_mtrl_alpha.9.png
Information:BUILD FAILED
Information:Total time: 2.682 secs
Information:2 errors
Information:0 warnings
Information:See complete output in console

这里写图片描述

Error: Failed to crunch file C:\Code\XTC_NetEaseCloudMusic\branches\APP_NetEaseCloudMusic_UseByAnonymous\NetEaseCloudeMusic\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\25.2.0\res\drawable-xhdpi-v4\abc_textfield_search_activated_mtrl_alpha.9.png into C:\Code\XTC_NetEaseCloudMusic\branches\APP_NetEaseCloudMusic_UseByAnonymous\NetEaseCloudeMusic\app\build\intermediates\res\merged\debug\drawable-xhdpi-v4\abc_textfield_search_activated_mtrl_alpha.9.png
:app:mergeDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Error: Failed to crunch file C:\Code\XTC_NetEaseCloudMusic\branches\APP_NetEaseCloudMusic_UseByAnonymous\NetEaseCloudeMusic\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\25.2.0\res\drawable-xhdpi-v4\abc_textfield_search_activated_mtrl_alpha.9.png into C:\Code\XTC_NetEaseCloudMusic\branches\APP_NetEaseCloudMusic_UseByAnonymous\NetEaseCloudeMusic\app\build\intermediates\res\merged\debug\drawable-xhdpi-v4\abc_textfield_search_activated_mtrl_alpha.9.png

* 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: 6.359 secs
Executing tasks: [:app:assembleDebug]

这里写图片描述

二、解决编译异常

上面是错误信息、编译不成功的原因是超过了最长限制。

解决方法1

在根目录下的build.gradle添加如下

buildDir = "C:/tmp/${rootProject.name}/${project.name}"

这里写图片描述

该代码的意思是指定 Project构建结果存放目录

对比如下所示:
没有添加时候的代码,

allprojects {
    repositories {
        jcenter()
        mavenLocal()
    }
}

这里写图片描述

添加后的代码:

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

添加后编译成功,并且可以运行。
这里写图片描述

但是编译后的Android Studio画面确实如下所示:

这里写图片描述

如上图所示:app这个module貌似单独移出去了一样,感觉怪怪的。

并且在build目录下,并没有任何apk文件生成。
这里写图片描述

apk文件都生成到了之前配置的buildDir目录下去了。

 buildDir = "C:/tmp/${rootProject.name}/${project.name}"

打开C盘 tem目录 ,可以看到生成的编译产物都在这里。
这里写图片描述

apk生成在 C:\tmp\NetEaseCloudeMusic\app\outputs\apk 目录下。

这里写图片描述

虽然方法1是有效的,但是还是感觉怪怪的,因此我决定使用方法2。

解决方法2

将工程挪到最外层文件夹。

重新从SVN服务器 checkout 一份该分支代码,到目录

C:\Code\APP_NetEaseCloudMusic_UseByAnonymous\NetEaseCloudeMusic

这里写图片描述

然后导入到Android Studio 编译,直接编译成功并且成功运行。

来对比一下,之前的目录是

C:\Code\XTC_NetEaseCloudMusic\branches\APP_NetEaseCloudMusic_UseByAnonymous\NetEaseCloudeMusic

目录太长了,导致编译失败

这里写图片描述

C:\Code\XTC_NetEaseCloudMusic\branches\APP_NetEaseCloudMusic_UseByAnonymous\NetEaseCloudeMusic\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\25.2.0\res\drawable-xhdpi-v4\abc_textfield_search_activated_mtrl_alpha.9.png

因为 abc_textfield_search_activated_mtrl_alpha.9.png 总共的路径名有241个字符,超过了windows规定的240个字符。有可能会提示:

Error: File path too long on windows, keep below 240 characters

下面是windows系统的文件目录限制

这里写图片描述

将文件路径缩短之后,编译成功,如下所示:
这里写图片描述

三、总结

出现该bug的最终原因还是因为文件目录太长导致的,所以推荐使用方法2将项目目录缩短然后再导入到Android Studio 重新编译方法1总感觉会有隐藏bug。

参考文档:

http://stackoverflow.com/questions/33905687/error-file-path-too-long-on-windows-keep-below-240-characters

这里写图片描述

作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/72596381

如果本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行打赏。

这里写图片描述

1
0
查看评论

Android studio 导入项目出现:Failed to crunch file

问题情况Error:Execution failed for task ':ExpandCheckRecyclerView:mergeDebugAndroidTestResources'. > Error: com.android.builder.internal.aapt.A...
  • snake_son
  • snake_son
  • 2016-11-28 09:09
  • 5119

报错信息: Error:Failed to crunch file

Error:Failed to crunch file
  • liang_duo_yu
  • liang_duo_yu
  • 2017-02-27 10:19
  • 954

莫名奇妙的Error:Failed to crunch

Message信息如下: Error:Failed to crunch file C:\Users\Administrator\Desktop\BaseFramework-Practice1\BaseFramework-b5c03125640f0faca81e77e8742be613d7fecfc5...
  • geekqian
  • geekqian
  • 2016-12-18 01:36
  • 1604

android studio(gradle)报错ERROR: Unable to open PNG file原因

今天在编译项目的时候碰到一个问题,代码完全相同的情况下,只是把项目移到SVN的另一个目录,编译无法通过 Gradle提示如下错误(不方便截自己的图片,网上转一个): Gradle: Execution failed for task ':AplikaceBeta1.0.1:m...
  • qq_22260247
  • qq_22260247
  • 2014-12-18 16:20
  • 3382

Android Studio常见问题以及解决方式

gradle build的时候出现的问题:  Error:Execution failed for task ':app:packageDebug'. Duplicate files copied in APK META-INF/notice.txt  解决办法:...
  • demon_zero
  • demon_zero
  • 2016-09-14 10:53
  • 45152

Android sutdio Error:Failed to crunch file 错误的解决

Error:Failed to crunch file C:\Users\Administrator.PC-201506061202\Desktop\PAY\bugly_crash_upgrade-1.3.1\demo\BuglyHotfixEasyDemo\app\build\intermedia...
  • wzl_show
  • wzl_show
  • 2017-06-14 16:03
  • 245

error:abc_textfield_search_default_mtrl_alpha Failed to crunch file

Error:com.android.builder.internal.aapt.AaptException: Failed to crunch file C:\Users\Desktop\map\BaiduLBS_AndroidSDK_Sample\BaiduMap_AndroidSDK_v4.1....
  • jacklog
  • jacklog
  • 2016-11-16 12:21
  • 3129

aapt.AaptException Failed to crunch file

aapt.AaptException Failed to crunch file1、问题背景今天公司项目开始了一个版本迭代,从git上new branch后,check 到本地,却发现怎么也跑不起来,同样的分支,其他同事就很正常,百思不得其解。2、错误信息查看日志,发现报这个错 aapt.AaptE...
  • sinat_15417921
  • sinat_15417921
  • 2017-02-23 11:39
  • 849

Error:com.android.builder.internal.aapt.AaptException: Failed to crunch file D:\my\Android-VideoStre

Error:com.android.builder.internal.aapt.AaptException: Failed to crunch file D:\my\Android-VideoStreamDecodingSample-master\Android-VideoStreamDecodin...
  • androidzmm
  • androidzmm
  • 2017-07-10 17:49
  • 951

解决com.android.builder.internal.aapt.AaptException: Failed to crunch file的办法

当我复制原工程到新的目标文件夹后,修改了此文件夹的名称,当我试着重新打开Android Studio后,竟然无法编译,报出了如下这个错误:com.android.builder.internal.aapt.AaptException: Failed to crunch file一番搜索后发现原来是在...
  • baidu_29444807
  • baidu_29444807
  • 2017-03-30 13:51
  • 2678
    个人资料
    • 访问:2175883次
    • 积分:23505
    • 等级:
    • 排名:第350名
    • 原创:371篇
    • 转载:110篇
    • 译文:0篇
    • 评论:983条
    感谢您为博客进行打赏
      支付宝&微信支付二维码
      支付宝&微信支付
    站长统计
    友情链接
    博客专栏
    最新评论