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

React Native执行assembleRelease打APK报不存在行编译错误

问题现象

构建面向Google Play发布的Release版APK时触发编译错误,执行的打包命令如下:

./gradlew assembleRelease

执行命令后返回的完整报错信息:

* Where:
Build file '/Users/frankinstyyn/Web Dev/Dyscalculator/react-native- 
calculator/MyProject/android/app/build.gradle' line: 225

* What went wrong:
Could not compile build file '/Users/frankinstyyn/Web Dev/Dyscalculator/react-native- 
calculator/MyProject/android/app/build.gradle'.
> startup failed:
build file '/Users/frankinstyyn/Web Dev/Dyscalculator/react-native- 
calculator/MyProject/android/app/build.gradle': 225: Unexpected character: '"' @ line 
225, column 43.
           ord System.console().readLine("\Alias pa
                               ^

核心异常点:报错提示android/app/build.gradle第225行存在非法字符,但本地手动查看该文件时,文件总计仅有25行,不存在对应行内容。

排查思路
  • 先确认构建时读取的文件是否为你本地编辑的源文件:Gradle构建过程中会对配置文件做脚本合并、插件注入,同时会缓存处理后的配置文件,报错指向的行号可能是处理后临时文件的行号,不是源文件的实际行号。
  • 从报错截断的代码片段System.console().readLine("\Alias pa判断,异常代码属于读取签名密钥别名的逻辑,大概率是配置中混入了HTML转义字符"(即双引号的转义格式),通常是从网页复制配置内容时带进来的。
  • 排查是否有第三方Gradle插件、自定义构建脚本在构建时动态向build.gradle注入签名配置代码,注入的代码本身存在转义错误。
  • 排查Gradle构建缓存是否残留了历史错误生成的配置文件,导致构建时没有读取当前最新的源文件。
解决方案
  • 第一步先全量清理构建缓存和临时文件,在项目根目录执行以下命令:
cd android
./gradlew clean
rm -rf .gradle
rm -rf app/build
cd ..
  • 检查签名配置逻辑:打开android/app/build.gradle找到signingConfigs配置块,如果你之前从网页教程复制过交互式读取keystore信息的脚本,把脚本中所有"替换为标准半角双引号"。更稳妥的方式是弃用交互式读取脚本,直接把签名配置写入android/gradle.properties,配置示例:
MYAPP_UPLOAD_STORE_FILE=your-keystore-file.jks
MYAPP_UPLOAD_STORE_PASSWORD=your-store-password
MYAPP_UPLOAD_KEY_ALIAS=your-key-alias
MYAPP_UPLOAD_KEY_PASSWORD=your-key-password

对应build.gradle中的签名配置改为静态读取即可:

signingConfigs {
    release {
        if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
            storeFile file(MYAPP_UPLOAD_STORE_FILE)
            storePassword MYAPP_UPLOAD_STORE_PASSWORD
            keyAlias MYAPP_UPLOAD_KEY_ALIAS
            keyPassword MYAPP_UPLOAD_KEY_PASSWORD
        }
    }
}
buildTypes {
    release {
        signingConfig signingConfigs.release
        // 其他原有release配置
    }
}
  • 如果清理缓存后仍报相同错误,在整个android目录下全局搜索关键词readLine(",定位到存在转义错误的配置文件或脚本,修正或删除错误注入的代码即可。
  • 最后核对你本地打开的build.gradle文件路径,和报错信息里打印的文件路径完全一致,避免打开错项目分支、上层目录下的同名文件。

内容的提问来源于stack exchange,提问作者Frankinstyyn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 05:42:25