You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Android构建报错:资源文件名含非法字符'-'

解决React Native新项目复制源码后Android构建资源文件名报错问题

问题根源

原项目与新项目的Android Gradle插件(AGP)版本不一致,新版本AGP默认启用了更严格的资源文件名规则,禁止使用'-'这类非允许字符,而旧版本未强制校验该规则。

可行解决方案

  • 重命名资源文件:将所有含'-'的资源文件(如abc-def.png、map-marker.png)替换为下划线格式(abc_def.png、map_marker.png),同时同步修改代码中对应的资源引用路径,保证引用匹配。
  • 关闭严格校验规则:在android/app/build.gradle文件中添加配置,禁用AGP的资源文件名严格校验:
    android {
        ...
        androidResources {
            allowUnsafeResourceNames = true
        }
    }
    
    保存后重新执行构建命令即可。
  • 降级AGP版本:将新项目的AGP版本调整至与原项目一致,修改android/build.gradle中的classpath版本:
    buildscript {
        dependencies {
            classpath "com.android.tools.build:gradle:原项目对应的AGP版本号"
        }
    }
    
    注意同步Gradle wrapper版本,确保两者兼容。

内容的提问来源于stack exchange,提问作者Engr.Aftab Ufaq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:27:35