运行react-native run-android时build.gradle出现unexpected token错误
解决React Native
react-native run-android 中build.gradle语法错误问题 嘿,我之前也碰到过一模一样的问题!这个unexpected token: (错误本质上是Gradle脚本的语法不兼容问题,大概率是你的android/build.gradle第18行的代码不符合当前Gradle版本的Groovy语法规范,下面是具体的排查和解决步骤:
第一步:定位并检查错误代码
直接打开项目根目录下的android/build.gradle文件,跳到第18行,重点排查以下几种常见错误:
- 误用了Java风格的Lambda表达式:比如写了
() -> {},但Gradle的Groovy语法里闭包应该直接用{}开头 - 括号/符号不匹配:比如多写了括号、漏了逗号,或者不小心用了全角符号
- 复制粘贴带来的不可见特殊字符:有时候复制旧配置会带入奇怪的隐藏字符,导致语法解析失败
举个典型的错误示例:
// 错误写法,Gradle无法识别这种无参数Lambda开头的写法 () -> { maven { url 'https://jitpack.io' } }
第二步:修正语法问题
根据你看到的错误代码,针对性调整:
- 如果是Lambda写法错误,把
() -> {}改成Groovy原生的闭包写法{} - 检查所有括号、逗号是否匹配,把全角符号替换为半角
- 若不确定正确写法,可以参考同版本React Native官方模板的
build.gradle内容,对比着修改
另外也可以检查Gradle版本兼容性:
打开android/gradle/wrapper/gradle-wrapper.properties,确认distributionUrl对应的Gradle版本是否符合当前React Native版本的要求(比如RN 0.70+需要Gradle 7.3及以上版本)
第三步:清理缓存并重新构建
修改完成后,先清理Gradle缓存避免旧缓存干扰:
cd android && ./gradlew clean
回到项目根目录,重新运行构建命令:
react-native run-android
我当时就是因为复制了一段旧的Gradle配置,误用了Java风格的Lambda写法,改完就正常运行了,你按照这个思路排查应该没问题!
内容的提问来源于stack exchange,提问作者pj013
相关产品推荐
相关产品推荐

