Android Studio中values文件资源编译异常如何解决?
Android资源编译异常:路径含非法字符问题
错误日志
Caused by: com.android.aaptcompiler.ResourceCompilationException: Resource compilation failed (Failed to compile values resource file C:\Users\devsi\AndroidStudioProjects\BasicBookApp\app\build\intermediates\incremental\debug\mergeDebugResources\merged.dir\values\values.xml. Cause: java.nio.file.InvalidPathException: Illegal char <:> at index 47: com.example.basicbookapp-mergeDebugResources-34:/values/values.xml). Check logs for more details.
涉及的values.xml前50行代码
<?xml version="1.0" encoding="utf-8"?> <resources xmlns:ns1="http://schemas.android.com/tools" xmlns:ns2="urn:oasis:names:tc:xliff:document:1.2"> <attr format="enum" name="animateCircleAngleTo"> <enum name="bestChoice" value="0"/> <enum name="closest" value="1"/> <enum name="clockwise" value="2"/> <enum name="antiClockwise" value="3"/> <enum name="constraint" value="4"/> </attr> <attr format="reference" name="animateRelativeTo"/> <attr format="reference" name="appBarLayoutStyle"/> <attr format="enum" name="arcMode"> <enum name="startVertical" value="0"/> <enum name="startHorizontal" value="1"/> <enum name="flip" value="2"/> </attr> <attr format="reference" name="badgeStyle"/> <attr format="boolean" name="barrierAllowsGoneWidgets"/> <attr format="enum" name="barrierDirection"> <enum name="left" value="0"/> <enum name="right" value="1"/> <enum name="top" value="2"/> <enum name="bottom" value="3"/> <enum name="start" value="5"/> <enum name="end" value="6"/> </attr> <attr format="dimension" name="barrierMargin"/> <attr format="boolean" name="behavior_draggable"/> <attr format="dimension" name="borderRound"/> <attr format="float" name="borderRoundPercent"/> <attr format="reference" name="bottomAppBarStyle"/> <attr format="reference" name="bottomNavigationStyle"/> <attr format="reference" name="bottomSheetDialogTheme"/> <attr format="reference" name="bottomSheetDragHandleStyle"/> <attr format="reference" name="bottomSheetStyle"/> <attr format="reference" name="cardViewStyle"/> <attr format="boolean" name="chainUseRtl"/> <attr format="reference" name="checkedIcon"/> <attr format="color" name="checkedIconTint"/> <attr format="reference" name="chipGroupStyle"/> <attr format="reference" name="chipStandaloneStyle"/> <attr format="reference" name="chipStyle"/> <attr format="dimension" name="circleRadius"/> <attr format="reference" name="circularProgressIndicatorStyle"/> <attr format="string" name="circularflow_angles"/> <attr format="float" name="circularflow_defaultAngle"/> <attr format="dimension" name="circularflow_defaultRadius"/> <attr format="string" name="circularflow_radiusInDP"/> <attr format="reference" name="circularflow_viewCenter"/> <attr format="reference" name="clockIcon"/>
解决方法
- 清理并重建项目:Windows执行
gradlew.bat clean assembleDebug,Mac/Linux执行./gradlew clean assembleDebug,彻底清除缓存后重新编译。 - 排查第三方依赖:这类虚拟路径异常多由第三方库资源冲突或格式错误导致,检查近期新增的依赖(比如带
circularflow属性的库),暂时移除后重新编译定位问题库。 - 升级Android Gradle插件与Gradle版本:旧版本插件存在路径解析bug,在项目根目录
build.gradle中升级插件至最新稳定版,同步后重新编译。 - 关闭增量资源编译:在
gradle.properties中添加android.incrementalResourceCompile=false,禁用增量编译避免路径解析异常。 - 确认项目路径:确保项目根路径及模块路径不含中文、空格或特殊符号(当前路径合规,可再次验证)。
内容的提问来源于stack exchange,提问作者Hideki Namikawa
相关产品推荐
相关产品推荐

