默认使用 React Native 打开 android 模拟器

Posted

技术标签:

【中文标题】默认使用 React Native 打开 android 模拟器【英文标题】:open android simulator with React Native by default 【发布时间】:2019-05-07 09:32:13 【问题描述】:

有什么方法可以使用一个命令打开反应本机应用程序和模拟器..

我的意思是:react-native run-android --emulator 'PIXEL_API_27'

我也试试:

"scripts": 
"start": "node node_modules/react-native/local-cli/cli.js start",
"android": "react-native run-android --emulator 'PIXEL_API_27'",
"test": "jest"

,

并运行命令npm run android,但它抱怨error: unknown option--simulator'`

我对 react native 很陌生。请帮助我....

【问题讨论】:

react-native cli 中没有这样的选项。我建议您阅读以下内容,它将向您解释如何在命令行中启动模拟器:developer.android.com/studio/run/emulator-commandline。然后,在run-android 之前执行该命令。 【参考方案1】:

目前无法通过向react-native run-android 传递附加标志来打开终端。

所以你的问题是双重的。首先如何从命令行运行模拟器,其次如何将该命令链接到运行您的 react-native 项目。让我们按顺序处理它们。

从命令行打开模拟器

可以通过命令行打开模拟器。这是通过emulator @avd 命令完成的,将@avd 替换为您的android 虚拟设备的名称。例如:

emulator @Nexus_5X_API_27_x86

要获取您机器上已安装的 android 虚拟设备的名称,请运行 emulator -list-avds

现在您的模拟器正在运行,让我们也运行 react-native。

运行模拟器,然后运行 ​​react-native run-android

我发现从命令行运行模拟器的一个问题是,模拟器命令一直在执行,这意味着您无法使用&& 链接命令。但是,您可以使用& 在后台运行模拟器终端,这样我们就可以通过以下方式链接命令:

emulator @Nexus_5X_API_27_x86 & react-native run-android

如果您乐于在后台运行终端,这可能是您的解决方案。

有关从命令行运行模拟器的更多设置,请参阅docs


请注意,当您尝试运行模拟器命令时可能会出错。我遇到的最常见的是 PANIC: Missing emulator engine program for 'x86' CPUS。 这可能需要您深入了解 .bashrc 或 .bash_profile 以使模拟器命令正常运行.你可以看到更多here

【讨论】:

但它的说法'emulator' is not recognized as an internal or external command, 正如我所说,你可能不得不和你一起玩.bashrc.bash_profile。您可能缺少其中的命令。以下是在Mac上设置adb ***.com/questions/17901692/set-up-adb-on-mac-os-x for windows 本文有一些建议androidcentral.com/… @Amjad ,对于 Windows,确保 %LOCALAPPDATA%\Android\Sdk\emulator 在您的 PATH 用户变量中。重新启动 command promptpowershell,然后运行 ​​emulator '@Nexus_5X_API_27_Android_8.1' 其中 Nexus_5X_API_27_Android_8.1 是您的 Android 虚拟设备 (AVD) 名称。

以上是关于默认使用 React Native 打开 android 模拟器的主要内容,如果未能解决你的问题,请参考以下文章

React-native:打开表情符号键盘

如何使用 React Native 获取默认地图?

Match的React Native入门之旅

为啥 react-native 包使用原生 SDK 而不是 JS/web 版本?

从 github 打开 react-native 项目时构建失败

使用真实设备作为模拟器时 React Native App 依赖