我正在尝试在本地Jenkins v2.150.2(Windows)上配置项目,以使用gradle包装器构建我的android应用程序。我花了很多时间,但在合并mergeDebugResources期间仍然遇到以下错误。
任务:app:cleanBuildCache 任务:清理最新 任务:app:clean 任务:app:preBuild截止日期 任务:app:preDebugBuild 任务:app:compileDebugAidl NO-SOURCE 任务:app:compileDebugRenderscript 任务:app:checkDebugManifest 任务:app:generateDebugBuildConfig 任务:app:prepareLintJar 任务:app:generateDebugSources 任务:app:dataBindingExportBuildInfoDebug 任务:app:dataBindingMergeDependencyArtifactsDebug 任务:app:generateDebugResValues 任务:app:generateDebugResources 任务:app:mergeDebugResources失败
失败:构建失败,并出现异常。
出了什么问题: 任务':app:mergeDebugResources'的执行失败。
java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2Exception:Android资源编译失败 C:\ Windows \ System32 \ config \ systemprofile.gradle \ caches \ transforms-1 \ files-1.1 \ appcompat-v7-28.0.0.aar \ 17dd212fa1026015c542616bd4b41905 \ res \ drawable-hdpi-v4 \ abc_textfield_search_default_mtrl_alpha.9.png:错误: 文件未找到。
到目前为止,我了解到Windows上的路径长度不应超过255个字符。我可以在Jenkins>管理Jenkins>配置系统中找到所有项目的全局工作区位置(可能不再可用),因此我仅更改了单个作业(项目)的工作区路径。之后,我看到Jenkins将一些文件复制到选定的位置,包括.gradle和gradle包装器,但是正如您可以在错误日志中看到的那样,它仍然使用C:\ Windows \ System32中的文件。我不确定这是否是问题,但我不知道如何更改它。如果我可以存储所有Jenkins缓存工作区并为所有项目构建自定义本地化,就可以了。
在另一篇文章中,我读到abc_textfield_search_default_mtrl_alpha.9.png可能已损坏,将其从项目中删除通常会有所帮助。这很奇怪,因为Android Studio对此没有任何问题,老实说,我不知道如何删除此文件。
希望您能帮助我找到解决方案,并感谢您的宝贵时间。
答案 0 :(得分:0)
这是Windows特有的问题;将Gradle插件更新为:
classpath "com.android.tools.build:gradle:3.2.1"