React Native:使用 Expo 生成 .apk 和 .ipa

React Native: Generate .apk and .ipa using Expo

我正在尝试使用 Expo & Create React Native App 为我的 React Native 应用生成一个 .ipa 和一个 .apk 文件。由于文档,我成功构建了该应用程序并能够在 iOS 和 Android 设备上将其安装到 运行:https://docs.expo.io/versions/v16.0.0/guides/building-standalone-apps.html

构建结束后,我的控制台显示类似

的内容

Your URL is https://exp.host/@myname/myapp

然后我在我的设备上打开 exp.host/@myname/myapp,该应用程序通过 Expo 客户端显示。

但是在文档的第 4 点,据说

When it’s done, you’ll see the url of a .apk (Android) or .ipa (iOS) file — this is your app.

我有点困惑。在此过程中的任何地方,我都看不到在我的电脑上任何地方生成的任何 ipa 或 apk 文件。我错过了什么吗?我如何实际生成文件?

您将需要 运行 expo build:status。构建过程完成后,您将看到 link 下载 apk (Android) 或 ipa(IOS) 文件。

确保 app.json

{
  "expo": {
    "name": "your app name",
    "description": "your app desc",
    ....,
    "ios": {
      "supportsTablet": true
    },
    
    "android": {
      "package": "com.yourcompany.yourappname"
    }
  }
}

然后 运行 expo build:androidexpo ba

之后

运行 expo build:status 你会发现,像这样,Apk 托管在 amazon aws

[exp] Android:
[exp] APK: https://HOST/yourapp.apk

如果执行build status:

expo build:status

您将获得 ios 或 android 的构建状态更新。它将显示以下可能状态之一:

  • 正在构建...
  • 此构建出错
  • URL ipa 或 apk 文件

URL 类似于:

https://expo.io/builds/{buildId}

其中 {buildId} 是 UUID

当您点击 link 时,它将显示当前状态、正在生成的日志、一个“下载”按钮,您可以在其中下载 ipa 或 apk 文件(只有构建时才可用)成功)和一个取消当前构建的“取消”按钮(仅当构建为 运行 时才可用)。

或者,您可以按照此 link:

查看您之前和当前的构建状态

https://expo.io/{@user}/{app}/builds

将 {@user} 替换为您的 expo 用户名(包括 @ 字符),将 {app} 替换为您的应用程序名称。您可以在此处查看特定构建状态,如已完成或失败、查看构建日志以及下载当前和以前的成功构建。

当您转到当前构建时,此 URL 也会显示在“构建日志”标题下方:

This is a build from {@user}/{app}

  • 为 android
  • 使用 `expo build:android` 将 `expo build:ios` 用于 ios

如果您没有 expo 帐户,它会要求创建新帐户 expo build:status 了解您的应用程序的状态,排队的应用程序可能需要大约 30 分钟才能生成 apk 文件。
您可以在 expo 网站上找到它

how to generate apk/ios file from expo

根据 https://docs.expo.dev/classic/building-standalone-apps/“经典构建服务 (expo build:{android,ios}) 处于维护模式并已被取代EAS Build.SDK 46 将是 Classic Builds 支持的最后一个 SDK,Classic Build 服务将在 2023 年 1 月 4 日之后停止所有 SDK 版本的运行。,新命令是:

  • eas build --platform android 对于 Android
  • eas build --platform ios 对于 iOS
  • eas build --platform all 两个

更多信息:https://docs.expo.dev/build/setup/.