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

cle*_*s36 17 apk ipa react-native expo create-react-native-app

我正在尝试使用Expo和Create React Native App为我的React Native应用程序生成.ipa和.apk文件.我成功构建了应用程序,并且能够让它在iOS和Android设备上运行,这要归功于以下文档:https://docs.expo.io/versions/v16.0.0/guides/building-standalone-apps. HTML

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

您的URL是 https://exp.host/@myname/myapp

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

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

完成后,您将看到.apk(Android)或.ipa(iOS)文件的网址 - 这是您的应用.

我有点困惑.没有在这个过程中我看到我的电脑上任何地方生成的任何ipa或apk文件.我错过了什么吗?我如何实际生成文件?

2r8*_*r83 21

您将需要运行expo build:status,当构建过程完成后,您将看到下载apk(android)或ipa(ios)文件的链接

  • 请确保安装了`exp`命令行工具:`npm install -g exp` (3认同)
  • 在2019年,这是** exp **而不是** exp **。撰写本文时,最新文档的链接为[expo-standalone-apps](https://docs.expo.io/versions/latest/distribution/building-standalone-apps/)。根据答案中的步骤,您需要运行`expo build:status`而不是`exp build:status`,然后在运行`expo build:android`或`expo build:ios`之后,具体取决于您使用的操作系统重新建设。运行完之后,系统会询问您几个问题,例如是否要让博览会处理所有事情,我建议您这样做。 (2认同)

Ans*_*ori 18

确保在app.json中

{
  "expo": {
    "name": "your app name",
    "description": "your app desc",
    ....,
    "ios": {
      "supportsTablet": true
    },

    "android": {
      "package": "com.yourcompany.yourappname"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

然后运行exp build:androidexp ba

之后

运行exp build:status ,你会发现,这样的事情,将APK的托管在亚马逊AWS

[exp] Android:
[exp] APK: https://HOST/yourapp.apk
Run Code Online (Sandbox Code Playgroud)


Rom*_*ain 8

  • 对 Android 使用 `expo build:android`
  • 对 ios 使用 `expo build:ios`

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

如何从expo生成apk/ios文件


Esh*_*Esh 6

Expo 最新版本的更新:
Expo 很快就会弃用expo build,并鼓励使用eas build,它默认构建为应用程序包。要构建为 apk,请按照 expo 文档 中eas.json给出的相应修改文件。当然,您必须单独安装 eas,因为它不与 expo-cli 捆绑在一起。

对于 apk 添加 eas.json 为:

{
  "build": {
    "preview": {
      "android": {
        "buildType": "apk"
      }
    },
    "preview2": {
      "android": {
        "gradleCommand": ":app:assembleRelease"
      }
    },
    "preview3": {
      "developmentClient": true
    },
    "production": {}
  }
}
Run Code Online (Sandbox Code Playgroud)

然后运行eas build -p android --profile preview