Expo EAS 在 Android 上构建失败:运行 gradlew
Expo EAS 在 Android 上构建失败:运行 gradlew
我发现错误,只需在 yourappName\android\gradle\wrapper\gradle-wrapper.properties 中将 gradle-7.3.3-all.zip 更改为 gradle-7.4-all.zip 即可
ps:在获得 android 文件夹之前,请运行 npx expo prebuild --no-install --platform android
看起来 Expo EAS 构建使用 Gradle 版本
7.3.3
,而一些模块至少需要 Gradle 版本
7.4
。
EAS Build 没有提供更改 Gradle 版本的直接方法,但它提供了构建基础架构映像的预设。
在
eas.json
文件中,尝试使用包含最新版本构建工具的最新映像。
{
"cli": {
"version": ">= 0.38.2"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal",
"ios": {
"simulator": true
}
},
"production": {
"android": {
"buildType": "app-bundle",
"image": "latest"
}
}
},
}
我遇到了同样的问题:当我升级到 Expo SDK 47 时,Android 构建中的“运行 gredlew”出现错误(iOS 构建没有问题)。
好消息是我已经使用 Expo SDK 47 成功构建了一次,因此我开始将我正在使用的第三方软件包逐个降级为与该成功构建相同的版本。
最后,罪魁祸首是 @stripe/stripe-react-native。构建再次成功,从 0.19.0 恢复到 0.13.1 版本。
在您的情况下,它可能是任何其他第三方软件包,因此我建议执行相同的过程。
编辑于 2023 年 1 月 26 日:我没有降级 @stripe/stripe-react-native,而是遵循了 Kudo 的建议 这里 :
the @stripe/ [email protected] requires android compileSdkVersion 33. you could use expo-build-properties to change the compileSdkVersion to 33 in a managed project: https://docs.expo.dev/versions/latest/sdk/build-properties/#pluginconfigtypeandroid