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

React Native安卓构建失败:rnmapbox_maps模块compileDebugKotlin任务执行错误

React Native安卓构建失败:rnmapbox_maps模块compileDebugKotlin任务执行错误

我太懂这种挫败感了——iOS端顺顺利利跑起来,安卓却卡在rnmapbox_maps的Kotlin编译上,而且AI推荐的更新版本、清理重建都试过了还是没用,真的闹心。结合你给出的版本信息(RN 0.76.9、@rnmapbox/maps 10.1.39,安卓配置Kotlin 1.9.25、compileSdk 35),我给你几个更针对性的排查方向:

1. 先抓准具体的编译错误根源

你现在看到的只是任务执行失败的笼统提示,真正的问题藏在Run gradlew阶段的详细日志里。我建议你重新运行构建时,特意去看rnmapbox_maps模块的编译日志,找类似“Unresolved reference”“Incompatible types”这类具体错误——比如可能是Kotlin语法不兼容、某个API在新compileSdk里被移除,或者是依赖冲突导致的类重复定义。找到具体错误,问题就解决了一半。

2. 核对版本兼容性的细节

虽然你觉得版本配得没问题,但还是要再确认两点:

  • @rnmapbox/maps 10.1.39是否明确支持compileSdk 35?毕竟35是比较新的版本,部分第三方库可能还没完全适配。你可以试试把compileSdkVersion降到34(和你的targetSdkVersion一致),再重新构建试试。
  • 确保项目里所有模块的Kotlin版本统一:你在app.config里设了kotlinVersion 1.9.25,但要检查安卓根目录的build.gradle文件,在buildscript块里有没有同步设置这个版本,比如:
    buildscript {
        ext {
            kotlinVersion = '1.9.25'
            // 其他配置...
        }
        dependencies {
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
            // 其他依赖...
        }
    }
    
    有些时候第三方库会自带不同版本的Kotlin插件,统一版本能避免很多冲突。

3. 排查依赖冲突

可能是其他模块拉了和rnmapbox_maps不兼容的Kotlin依赖版本。你可以在安卓目录下运行这个命令,查看rnmapbox_maps模块的Kotlin依赖详情:

./gradlew :rnmapbox_maps:dependencyInsight --dependency org.jetbrains.kotlin:kotlin-stdlib

如果输出里有多个Kotlin版本,说明存在冲突。这时候可以在安卓根目录的build.gradle里添加强制统一Kotlin版本的配置:

subprojects {
    afterEvaluate { project ->
        if (project.plugins.hasPlugin('kotlin-android')) {
            project.android {
                compileOptions {
                    sourceCompatibility JavaVersion.VERSION_17
                    targetCompatibility JavaVersion.VERSION_17
                }
                kotlinOptions {
                    jvmTarget = '17'
                }
            }
            project.dependencies {
                implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${rootProject.ext.kotlinVersion}"
            }
        }
    }
}

4. 彻底清理所有缓存(比常规操作更彻底)

你说已经清理重建了,但可能有些缓存没清干净:

  • 先运行npx react-native clean清理RN缓存
  • 再运行./gradlew clean清理安卓构建缓存
  • 手动删除项目根目录的.gradle文件夹、安卓目录下的build文件夹,以及android/app/build文件夹
  • 最后重新执行npx react-native run-android

5. 检查Java版本是否符合要求

React Native 0.76.x要求使用Java 17,如果你的开发环境用的是Java 11或更低版本,也会导致Kotlin编译失败。你可以在终端运行java -version确认版本,要是不对就切换到Java 17再试。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 10:49:29