安装react-native stripe sdk后构建应用出现Gradle报错如何解决?
问题产生原因
- 第一个错误原因:最新版
@stripe/stripe-react-native的Android端默认依赖高版本Kotlin Gradle插件,该插件对Gradle版本的最低要求为6.1,你当前项目使用的Gradle 5.4.1版本低于最低要求,因此加载kotlin-android插件时触发不兼容异常。 - 第二个错误原因:Stripe React Native SDK的Android构建逻辑默认会从主项目的全局配置中读取
compileSdkVersion参数,若主项目未配置该全局参数,就会触发未指定compileSdkVersion的报错。
解决方法
1. 修复Gradle与Kotlin插件不兼容问题
二选一即可:
- 方案一(推荐,长期适配):升级项目Gradle版本到6.1及以上。
打开项目android/gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl参数,比如升级到7.3.3版本的示例:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
修改完成后同步Gradle配置生效。
- 方案二(临时兼容,不推荐):降级Stripe SDK到适配Gradle 5.4.1的旧版本,执行以下安装命令:
npm install @stripe/stripe-react-native@0.2.3
2. 修复未指定compileSdkVersion问题
打开项目根目录下的android/build.gradle文件,在ext全局配置块中添加compileSdkVersion配置,示例如下:
ext { compileSdkVersion = 33 // Stripe SDK最低要求compileSdkVersion为31,可根据项目需求调整为31及以上版本 // 其余原有全局配置保持不变 }
如果已经配置过该参数仍报错,可以临时修改node_modules/@stripe/stripe-react-native/android/build.gradle文件,手动指定compileSdkVersion为你项目使用的版本即可,注意该修改在重新执行npm install后会被覆盖,仅适合临时调试使用。
内容的提问来源于stack exchange,提问作者gabogabans
相关产品推荐
相关产品推荐

