React Native Expo eas:如果我之前运行预构建,Android构建将失败

zdwk9cvp  于 2022-12-04  发布在  React
关注(0)|答案(3)|浏览(551)

bounty已结束。回答此问题可获得+50声望奖励。奖励宽限期将在23小时后结束。Simon希望吸引更多人关注此问题。

我用46号世博会。
我想改变一些配置在我的AndroidManifest,所以我运行一个npx expo prebuild,生成一个android文件夹没有错误。
但是我的eas build不再工作了(如果我不运行prebuild的话)。
我得到这个错误:

Failed to find 'build.gradle' file for project: /home/expo/workingdir/build/android/app.

我错过了什么吗?

gojuced7

gojuced71#

要使用通过运行npx expo prebuild生成的android文件夹,您需要使用eas build -p android命令并指定--non-interactive和--config选项。--non-interactive标志允许您在不提示任何输入的情况下进行构建,--config标志允许您指定app.json文件的路径,该文件应该位于prebuild生成的android文件夹中。
以下是如何使用这些选项的示例:

eas build -p android --non-interactive --config android/app.json

请注意,使用Expo运行预构建和构建Android应用可能需要进行其他设置,例如设置密钥库和对应用进行签名。有关构建和发布应用的详细信息,请参阅Expo文档。

mcvgt66p

mcvgt66p2#

运行npx expo prebuild似乎会导致Expo项目出现一些问题。Expo使用Android Gradle构建系统来构建和运行Android项目,因此您看到的build.gradle文件错误表明构建配置可能存在问题。
此问题的一个潜在原因可能是npx expo prebuild命令正在修改或删除build.gradle文件,这将阻止项目正常构建。另一个可能是npx expo prebuild命令正在更改build.gradle文件的位置,因此Expo构建过程无法找到它。
要解决此问题,您可能需要检查npx expo prebuild命令的输出,以查看其是否对build.gradle文件或其位置进行了任何更改。您也可以尝试运行npx expo build:android命令来重建Android项目,并查看其是否修复了问题。如果问题仍然存在,您可能需要查阅Expo文档或向Expo社区寻求帮助以获得进一步的帮助。

pxyaymoc

pxyaymoc3#

在项目的根目录中运行npx expo-updates,以便使用必要的更改更新build.gradle文件。
顺便说一句,我在其他帖子下面看到了你的评论:expo prebuild命令在android目录中生成一个Android项目,其中包含expo build:android命令使用的build.gradle文件。eas build命令是expo build:android命令的简写,因此它希望Android项目位于android目录中。
如果您运行expo prebuild,然后运行eas build,则eas build命令应该能够找到build.gradle文件并成功构建Android应用。

相关问题