Android项目':app:mergeReleaseResources'任务执行失败,求解决方案
解决Android项目
:app:mergeReleaseResources任务失败问题 问题概况
执行:app:mergeReleaseResources任务时失败,核心原因是合并后的values资源文件路径出现非法字符:,触发java.nio.file.InvalidPathException异常。
完整报错信息
执行com.android.build.gradle.internal.res.ResourceCompilerRunnable时发生故障
资源编译失败(编译values资源文件C:\Driverapp\build\app\intermediates\incremental\release\mergeReleaseResources\merged.dir\values\values.xml失败。原因:java.nio.file.InvalidPathException: 索引49处存在非法字符<:>:com.mighty.taxidriver.app-mergeReleaseResources-5:/values/values.xml)。请查看日志获取更多详情。
解决方案建议
- 排查资源文件内容:检查项目所有
res/values目录下的xml文件,重点确认资源名称、字符串值、自定义属性中是否包含:这类非法字符,尤其是硬编码的字符串或属性值。 - 清理构建缓存:在项目根目录终端执行命令
./gradlew clean,清除旧的构建缓存文件后重新尝试构建,避免缓存文件损坏导致路径异常。 - 排查第三方依赖:若项目引入了第三方库,尝试临时移除可疑依赖并重新构建,确认是否是依赖库的资源文件存在格式问题。
- 检查构建配置:查看模块级
build.gradle文件中的sourceSets配置,确认资源路径设置是否正确,避免自定义路径引入非法字符。 - 获取详细日志:执行构建命令时添加日志参数,比如
./gradlew assembleRelease --info,通过详细日志定位到具体是哪个原始资源文件导致合并后的xml出现非法字符。
内容的提问来源于stack exchange,提问作者pavel boss
相关产品推荐
相关产品推荐

