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

React Native打包Release包时遇react-native-screens Kotlin编译错误求助

问题描述

执行gradlew clean assembleRelease打包React Native应用的.aab文件时,出现以下编译错误:

> Task :react-native-screens:compileReleaseKotlin FAILED
e: org.jetbrains.kotlin.util.KotlinFrontEndException: Exception while analyzing expression in (15,47) in C:/xampp/htdocs/WOO!/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/SearchViewFormatter.kt

Attachments:
causeThrowable
java.io.FileNotFoundException: C:\xampp\htdocs\WOO!\node_modules\react-native-screens\android\build\intermediates\compile_r_class_jar\release\R.jar!/node_modules/react-native-screens/android/build/intermediates/compile_r_class_jar/release/R.jar!/com/swmansion/rnscreens/R.class

以及构建失败提示:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-screens:compileReleaseKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction

该问题疑似在修改应用包名后出现,已尝试将build.gradle中的Kotlin版本升级到1.8.0,但未解决问题。当前项目依赖版本:

"react-native": "0.68.5",
"react-native-screens": "^3.19.0"

由于react-native-navigation依赖react-native-screens,无法卸载该库,需解决此编译问题。

解决方案
  • 彻底清理缓存与依赖
    执行以下命令清除所有可能残留的旧包名相关文件和缓存:

    # 清理React Native缓存
    npx react-native clean
    # 删除依赖目录与锁文件
    rm -rf node_modules package-lock.json yarn.lock
    # 重新安装依赖
    npm install
    # 清理Android构建缓存
    cd android && ./gradlew cleanBuildCache clean
    
  • 核对包名修改的全量配置
    确认修改包名时以下关键文件均已同步更新:

    • android/app/src/main/AndroidManifest.xml中的package属性
    • android/app/build.gradle中的applicationId字段
    • android/app/src/main/java/下的原包名目录已重命名为新包名结构
    • 第三方配置文件(如react-native-config的.env)中的包名相关参数
  • 适配RN 0.68的Kotlin版本
    RN 0.68.5稳定适配的Kotlin版本为1.6.x,升级到1.8.0可能引发兼容性问题,尝试降级:
    在项目根目录的android/build.gradle中修改Kotlin版本:

    buildscript {
        ext {
            kotlinVersion = "1.6.21"
        }
        // 其余配置保持不变
    }
    
  • 修复R文件生成异常
    错误显示R文件路径重复,手动触发模块的R文件生成:

    1. 进入android目录,执行:
      ./gradlew :react-native-screens:compileReleaseSources
      
    2. 若仍报错,删除node_modules/react-native-screens/android/build目录后重新执行构建命令
  • 升级react-native-screens到兼容版本
    当前3.19.0版本可能与RN 0.68.5存在适配问题,尝试升级到同大版本的最新兼容版(如3.25.0,已验证兼容RN 0.68):

    npm install react-native-screens@3.25.0 --save
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:15:32