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

React Native集成Airbnb react-native-maps编译报错求助

解决react-native-maps构建报错:Could not find method compileOnly()

这个报错的核心原因是你的Gradle版本太低,compileOnly()是Gradle 2.12及以上版本才支持的依赖声明方法,而你当前使用的Gradle版本不包含这个方法,所以才会抛出找不到该方法的错误。下面是具体的解决步骤:

1. 升级项目根目录下的Gradle插件版本

  • 打开项目根目录的 build.gradle 文件(注意不是app模块下的),找到 dependencies 块里的 classpath 'com.android.tools.build:gradle:x.x.x'
  • 将Gradle插件版本升级到至少2.12以上,比如可以选择一个稳定适配的版本(比如3.5.4,该版本适配多数React Native 0.60+项目):
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.4'
        // 其他项目依赖...
    }
    

2. 匹配Gradle分发版本

  • 打开 gradle/wrapper/gradle-wrapper.properties 文件,修改 distributionUrl 为对应Gradle插件要求的分发版本:
    比如Gradle插件3.5.4对应的Gradle分发版本是5.4.1,修改后内容如下:
    distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
    

3. 检查react-native-maps与React Native的版本兼容性

  • 确保你安装的react-native-maps版本和当前React Native版本匹配:
    • 若使用React Native 0.60+,建议安装最新稳定版的react-native-maps
    • 若使用较旧的RN版本,需要安装对应兼容的旧版本(比如0.27.1这类适配低版本RN的包)

4. 清理缓存并重新构建

  • 执行以下命令清理项目缓存并重新构建:
    cd android
    ./gradlew clean
    cd ..
    npx react-native run-android
    

另外,建议再检查app模块下的build.gradle依赖声明,确保react-native的依赖写法正确,比如:

implementation "com.facebook.react:react-native:+"

(旧版本RN可能用compile,但新版本建议用implementation,避免和低版本Gradle冲突)

如果以上步骤还没解决问题,可以尝试删除node_modules文件夹,重新执行npm install或yarn install后再构建项目。

内容的提问来源于stack exchange,提问作者Theodorus Agum Gumilang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:58:00