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

react-native-braintree-dropin-ui编译报错:lambda表达式不支持-source 7

解决react-native-braintree-dropin-ui升级后Lambda表达式编译错误

方案1:全局配置Java编译版本(推荐)

在项目根目录的build.gradle文件中,找到allprojects块,加入subprojects配置,强制所有模块(包括第三方依赖)用Java 11编译:

allprojects {
    repositories {
        // 保留原有仓库配置
    }

    subprojects {
        afterEvaluate { project ->
            if (project.hasProperty('android')) {
                android {
                    compileOptions {
                        sourceCompatibility JavaVersion.VERSION_11
                        targetCompatibility JavaVersion.VERSION_11
                    }
                }
            }
        }
    }
}

改完后执行./gradlew clean,再重新跑npm run android。

方案2:直接修改第三方库配置并持久化

如果全局配置没效果,直接修改依赖库的编译配置:

  1. 打开node_modules/react-native-braintree-dropin-ui/android/build.gradle,在android块里加编译选项:
android {
    // 原有配置不动
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
}
  1. 为了防止后续npm install覆盖修改,用patch-package做持久化:
    • 安装工具:npm install patch-package --save-dev
    • 生成补丁:npx patch-package react-native-braintree-dropin-ui
    • 之后每次安装依赖都会自动应用这个补丁。

方案3:检查Gradle版本是否兼容Java 11

Gradle 6.7及以上才支持Java 11,确认项目Gradle版本:

  • 打开gradle/wrapper/gradle-wrapper.properties,看distributionUrl,比如改成distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
  • 同步项目后再重新编译。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 05:12:11