Expo eas:如果我在运行预构建之前进行构建,则Android构建失败

4

我使用的是Expo 46。

我想要修改一些在AndroidManifest中的配置,所以我运行了一个npx expo prebuild命令来生成一个android文件夹,此过程没有出现错误。

但是,当我运行eas build时就会出现问题(如果我不运行prebuild则不会出现问题)。
我收到以下错误消息:

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

我有遗漏吗?

2个回答

0
在项目根目录下运行 npx expo-updates 以更新 build.gradle 文件,使其包含必要的更改。
顺便提一句,根据我在其他帖子下看到的评论: expo prebuild 命令会在 android 目录中生成一个 Android 项目,其中包含由 expo build:android 命令使用的 build.gradle 文件。 eas build 命令是 expo build:android 命令的缩写形式,因此它需要在 android 目录中存在 Android 项目。
如果您运行 expo prebuild,然后再运行 eas buildeas build 命令应该能够找到 build.gradle 文件并成功构建 Android 应用程序。

1
谢谢,但是在 Expo 预构建之后找不到 build.gradle,这就是问题的所在 :( - Simon

0

尝试使用--clear标志运行expo prebuild命令,这将在生成新文件之前清除任何现有的预构建文件。

这应该确保生成的android文件夹包括build.gradle文件,并且eas build命令应该能够使用该文件来构建应用程序。

npx expo prebuild --clean

另外,您可以尝试在未运行expo prebuild命令的情况下运行eas build命令。 这将使用应用中的原始Android项目文件,其中应包括build.gradle文件,并允许eas build命令正确工作。

如何在未先运行expo prebuild的情况下运行eas build命令:

npx eas build

我知道我可以使用 npx eas build,但我需要修改本地文件。 - Simon
1
我正在尝试使用“clean”选项(显然是“clean”,而不是“clear”)。 - Simon
1
它不起作用,我仍然得到相同的错误。 - Simon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接