【问题标题】:React native project won't run on macReact 本机项目不会在 mac 上运行
【发布时间】:2017-10-23 23:56:09
【问题描述】:

我正在尝试在 mac 上运行 react native,我在后台运行 android 模拟器并运行 react-native run-android 并得到:

=> react-native run-android
Scanning 564 folders for symlinks in /Users/sao/Conv/Conv2/node_modules (19ms)
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug)...
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

React Awesome 项目 (react-native init) 在这台机器上运行良好,而且这个项目在 Windows 上运行良好。

上面说检查错误以获取详细信息,但上面没有错误...

关于如何使它工作的任何想法?

【问题讨论】:

  • 如果你仍然坚持,请检查我的回答,如果这能解决问题,请告诉我。
  • 你的 MAC 上安装 JDK 了吗?
  • 是的,react Awesome 项目有效。 @EnieJakiro
  • 好的,可能是安装出错了。重新启动系统后尝试从头开始响应本机 init
  • 您的意思是将我的项目添加到 react awesome 项目中? @EnieJakiro

标签: android macos reactjs react-native


【解决方案1】:

尝试在终端中运行adb devices,如果它的空白运行adb kill-server,然后用adb start-server跟进它

【讨论】:

  • 尝试在您的应用根文件夹中运行 'chmod 755 android/gradlew',然后运行 ​​'react-native run-android' 这可能是因为 gradle 权限来源:github.com/facebook/react-native/issues/…
  • 这很有帮助,它现在可以安装应用程序,但我在本机组件中遇到错误:pastebin.com/DibRnaun,您是如何考虑权限的?
  • @RahulRavindran 不错的解决方案。把它放在你的答案中。 kuhaku 当您在 JSX 组件中编写一些 javascript 逻辑并且该 javascript 逻辑不返回任何要呈现的组件时,通常会发生您遇到的错误。因此,将代码移到 JSX 组件之外。但是正如您所说,它可以在 Windows 上完美运行,所以不能说这是否是问题所在,因为没有与之相关的代码。例如。 x = y 可能会导致此问题。
  • 在 windows 中如何运行这个 chmod 755 android/gradlew 推荐
【解决方案2】:

遇到了同样的问题,最终在 Mac 上重新创建项目并添加了旧项目中的文件;

我的项目使用 git,所以我可以告诉你,在我重新创建项目时唯一发生变化的文件是:

  • android/gradlew
  • android/gradlew.bat

我猜你可以创建一个新项目并复制粘贴这些文件,但我不确定它是否有效,因为我没有尝试过。

【讨论】:

  • 您是如何重新创建项目的?
  • 你能检查一下有哪些不同的行吗?也许这只是两者中的一行......
  • 我将我项目中的这两个文件与 react awesome 项目(确实有效)进行了比较,它们是相同的......
  • 我遇到了同样的问题。只复制了这两个文件并解决了问题
  • 这个方法对我有用。谢谢
【解决方案3】:

正如您所说,模拟器已经在运行,所以另一个问题可能是(根据错误消息)您的 SDK 路径未在您的 android 项目中设置。我遇到了类似的问题并做了以下操作:

  1. 在您的项目文件夹中打开您的 android 文件夹。
  2. 创建文件 local.properties 并将以下内容复制粘贴到该文件中:sdk.dir=YOUR_ANDROID_SDK_PATH。

例如在我的系统 SDK 路径是 sdk.dir: /Users/USER_NAME/Library/Android/sdk.

【讨论】:

  • @kuhaku 请再告诉我一件事(可能不直接相关),您的“adb”命令是否添加到 $PATH 变量中?我的意思是当你输入 adb 时它会从任何地方执行。这是因为当我们执行 run-android 时,它会使用 adb 命令检查设备,然后安装应用程序。如果您的 PATH 中没有该命令,则它可能会失败。在我的系统中,adb 位于以下路径:/Users/USER_NAME/Library/Android/sdk/platform-tools/adb。这似乎是唯一的可能
  • 是 adb 在路径中。
  • @kuhaku 您能否添加更多日志,因为您发布的日志说“请阅读上文了解更多详细信息”。这可能有助于找到确切的原因。在“出了什么问题”下的日志消息中应该有一些失败原因
  • 当你运行“react-native run-android”你会得到日志。它应该高于您在问题中发布的任何内容..
  • 我在react-native run-android 之后发布了我收到的所有内容。
【解决方案4】:

如日志中所述,您必须正在运行模拟器将真实设备连接到 Mac

要设置模拟器,请使用 Android Studio。假设您有一个可用的设备,连接设备会更容易、更快捷。

【讨论】:

  • cmd> android avd
  • 我说模拟器正在运行,React awsome 项目确实在模拟器上运行。上面说检查错误以获取详细信息,但上面没有错误...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-01
  • 2019-10-19
  • 2018-11-04
  • 1970-01-01
  • 1970-01-01
  • 2019-11-23
  • 1970-01-01
相关资源
最近更新 更多