【发布时间】:2019-01-31 07:31:11
【问题描述】:
我正在尝试在本地 Jenkins v2.150.2 (Windows) 上配置项目,以使用 gradle wrapper 构建我的 android 应用程序。我花了很多时间,但在 mergeDebugResources 时仍然出现以下错误。
任务:app:cleanBuildCache 任务:清洁最新 任务:应用程序:清洁 任务:app:preBuild UP-TO-DATE 任务: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 失败
FAILURE:构建失败并出现异常。
出了什么问题: 任务 ':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 > Manage Jenkins > Configure system 中找到所有项目的全局工作区位置(可能不再可用),所以我只为单个作业(项目)更改了工作区路径。之后我看到 Jenkins 将一些文件复制到选定的位置,包括 .gradle 和 gradle 包装器,但正如您可以在错误日志中看到的那样,它仍然使用 C:\Windows\System32 中的文件。我不确定这是否是问题所在,但我不知道如何改变它。如果我可以存储所有 Jenkins 缓存工作区并为所有项目构建自定义本地化以使其清晰,那就太棒了。
在其他帖子中,我读到 abc_textfield_search_default_mtrl_alpha.9.png 可能已损坏,从项目中删除它通常会有所帮助。这很奇怪,因为 Android Studio 对此没有任何问题,老实说,我不知道如何删除这个文件。
希望您能帮我找到解决方案,感谢您的宝贵时间。
【问题讨论】:
-
这个问题完全没有产生错误的
build.gradle。