从 react-native 创建 Android 和 iOS 应用

Posted

技术标签:

【中文标题】从 react-native 创建 Android 和 iOS 应用【英文标题】:Creating Android and iOS app from react-native 【发布时间】:2019-02-05 06:38:45 【问题描述】:

我使用 expo 和 atom 编辑器创建了一个 react-native 应用程序。它在 android 设备和 ios 模拟器中运行良好,但在 expo 的帮助下。我想要的是生成 Apk(debug) 以便我可以直接在设备上运行。我该怎么做 ?我关注了this(Dmitry Mugtasimov 的回答)。我应该在项目文件夹中运行所有这些命令吗?我也没有在我的项目文件夹中找到 index.js 文件。此外,如果有人知道如何通过创建类似文件的应用程序在 iOS 模拟器上运行(不知道 Ios 中的那个是什么,因为来自 android 背景)。请帮忙,谢谢

【问题讨论】:

是的,您应该在项目文件夹(您的 react 本机应用程序文件夹)中运行这些命令。而对于 iOS,您无法创建 ipa 文件并在 iOS 模拟器上运行它,因为模拟器不支持所有架构。 @AadityaPaliwal 感谢您的回复,然后我们如何为 iOS 做,因为它应该是跨平台项目,即应该在两个平台上运行。 您可以按照facebook.github.io/react-native/docs/running-on-device 在设备上运行。您必须在 Apple ID 中注册您的设备。 【参考方案1】:

由于您使用 Expo 开发您的 react-native 应用程序,您可以通过转到项目文件夹并在终端中运行以下命令来构建 android 应用程序

expo build:android

构建过程大约需要 5-10 分钟。构建完成后,expo build:status 将为您提供 .apk 文件 url。如果没有,它会说您的构建仍在进行中,稍后再试。

还要构建你可以运行的 iOS 应用,

expo build:ios

要构建 iOS 独立应用,您需要拥有 Apple 开发者帐户,但对于 Android 独立应用,您不需要 Google Play 开发者帐户。

上述命令需要安装 expo-cli,你可以运行下面的命令,

npm install -g expo-cli

更多信息:https://docs.expo.io/versions/latest/distribution/building-standalone-apps/

如果您没有 Apple 开发者帐户。您可以构建 iOS 使用命令构建独立模拟器,

expo build:ios -t simulator

然后等待构建完成,然后下载并解压缩 YourAppName.tar.gz。然后,启动 iOS 模拟器并运行 xcrun simctl install booted YourAppName.app 以运行 .ica 文件。

更多信息:Expo / React-Native, Is it there a way to test-run standalone iOS apps on a device/simulator?

【讨论】:

有什么与调试和发布版本相关的吗? 这可能会有所帮助,forums.expo.io/t/… 在expo开发中,可以运行npm start来测试应用。您必须使用 expo 应用程序扫描二维码或在 android 或 iOS 模拟器上运行该应用程序。 我已经做过并且可以运行了。我只是想通过创建apk来运行。这实际上是通过 expo 应用程序运行的,而不像 android 本机应用程序那样直接运行。所以... 运行 expo build:android 来构建 .apk

以上是关于从 react-native 创建 Android 和 iOS 应用的主要内容,如果未能解决你的问题,请参考以下文章

Realm React-Native:从 JS(反应本机代码)和 android(java)访问相同的领域

如何从 URL 下载图像并缓存 Android (React-Native)

React-Native .apk 文件在更高版本的 android 设备中失败

如何禁用 Android 上的设备后退按钮(react-native)?

react-native run-android 从终端失败

在android中安排后台任务并从任务中调用react-native javascript方法