开发者问题收集

Eas build 破坏了应用程序,而经典的 expo build 却运行良好

2022-04-18
3589

我遇到了 eas build (expo) 问题,我的应用程序大小约为 ~60mb(使用 expo build:android),并且该构建运行良好(我使用的是实体手机)。

我构建了相同的应用程序,没有变化,使用 eas build,出现崩溃。

我如何运行 eas build: eas build -p android --profile preview
我如何运行 expo build: expo build:android -t apk

我想指出,运行 Grandle 时我没有收到任何错误,构建正常

这是我的 eas.json

{
  "build": {
      
    "preview": {

      "android": {
        "buildType": "apk"
        
      }
    },
    "preview2": {
      "android": {
        "gradleCommand": ":app:assembleRelease"
      }
    },
    "preview3": {
      "developmentClient": true
    },
    "production": {}
  },
  "cli": {
    "version": ">= 0.48.2"
  }
}

我如何查看崩溃日志? 有人遇到过类似情况吗? 也许有不同的解决方案可以使应用程序更小?

3个回答

就我而言,如果第一个屏幕上缺少环境变量,应用程序就会崩溃。

问题是我将变量放在 .env 文件中,这适用于经典构建,但不适用于 eas 构建。

如果是这种情况,您需要在 eas.json 文件中声明环境变量,或者通过 expo 网站为您的应用创建敏感值的机密。

您可以在此处阅读有关它的更多信息: https://docs.expo.dev/build-reference/variables/

Henrique Chagas
2022-06-29

可能有日志吗?

我遇到了 1 个问题,涉及 Android Gradle 插件需要 Java 11 才能运行。您当前正在使用 Java 1.8。 **EXPO.dev** 并且我正在使用 Firebase ,那么问题在于 .gitignoregoogle-service.json.env ,根据 此评论 ,它们未上传到 EAS 构建中。

Daniel Danielecki - Ditectrev
2022-05-18

我遇到了同样的问题,正在调试中。

这是一个很好的起点 - 如果您使用的是 Mac,请连接 Android 设备并运行:

adb logcat '*:S' ReactNative:V ReactNativeJS:V

这将帮助您记录相关错误并调试问题。只需运行 adb logcat 即可记录大量难以管理的数据。

Andrew Fredette
2022-05-19