【问题标题】:Expo eas: Android build fails if I run a prebuild beforeExpo eas:如果我之前运行预构建,Android 构建会失败
【发布时间】:2022-12-04 20:27:40
【问题描述】:

我使用世博会 46。

我想在我的AndroidManifest 中更改一些配置,所以我运行了一个npx expo prebuild,它生成了一个没有错误的 android 文件夹。

但是后来我的eas build 不再工作了(如果我不运行prebuild 就是这样)。
我收到此错误:

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

我错过了什么吗?

【问题讨论】:

    标签: android react-native expo eas expo-build


    【解决方案1】:

    听起来运行 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 社区的帮助以获得进一步的帮助。

    【讨论】:

    • 谢谢。几个 cmets:我使用新的 eas build,所以命令不再是 expo build:android 而是 eas build。因此在 expo prebuild 之前根本没有 Android 文件夹,它是由 prebuild 命令创建的。此外,我会说 eas build 使用 itnernally expo prebuild,不是吗?我的主要问题是为什么 eas build 和 expo prebuild 然后 eas build 之间有区别
    【解决方案2】:

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

    以下是如何使用这些选项的示例:

    expo build:android --non-interactive --config android/app.json
    

    请注意,使用 Expo 运行预构建和构建您的 Android 应用程序可能需要额外的设置,例如设置密钥库和签署您的应用程序。有关构建和发布应用程序的更多信息,请参阅 Expo 文档。

    【讨论】:

    • 谢谢,但我想使用新的 eas 构建
    猜你喜欢
    • 2022-12-22
    • 2022-06-28
    • 2021-11-08
    • 2022-06-23
    • 2023-02-25
    • 2023-01-05
    • 2022-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多