react-native 运行-android 挂起

react-native run-android hangs

我正在使用 react-native 启动一个新的应用程序,并遵循入门教程 here。我已经安装了 Android Studio、sdk 和 avd 文件,并且 react-native init 似乎工作正常...

react-native init myapp
>>
Installing React...
Installing Jest...
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

然后我尝试 运行 应用程序

react-native run-android

它就挂在那里(甚至放了一夜)。

如果我执行 strace

...lots of stuff then
read(12, "HTTP/1.0 200 OK\r\nServer: Motion/3.2.12+git20140228\r\nConnection: close\r\nMax-Age: 0\r\nExpires: 0\r\nCache-Control: no-cache, private\r\nPragma: no-cache\r\nContent-Type: multipart/x-mixed-replace; boundary=--BoundaryString\r\n\r\n", 65536) = 217
epoll_wait(5, [{EPOLLIN, {u32=12, u64=12}}], 1024, -1) = 1
read(12, "--BoundaryString\r\nContent-type: image/jpeg\r\nContent-Length:        4235\r\n\r\n7070[=14=]JFIF[=14=][=14=][=14=][=14=][=14=][=14=]71[=14=]4Exif

然后继续循环...

read(12, "--BoundaryString\r\nContent-type: image/jpeg\r\nContent-Length:        4235\r\n\r\n7070[=15=]JFIF.....

我尝试过重新安装 react-native、sdks 等,但错误仍然存​​在。

我也看到了一个类似的错误链接到 watchman 和 react-native init,但我认为这不适用,因为我目前没有安装它(之前已经尝试安装它)。

我正在使用 Linux Mint 18

4.4.0-51-generic #72-Ubuntu SMP Thu Nov 24 18:29:54 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

好的,这是一个使用端口 8081 的相机应用程序导致的问题。

如果我终止该进程,它就会工作。我检查了

使用的端口
netstat -tulpn

在那里寻找8081端口,然后

kill -9 <pid>

假设您很高兴没有 运行,然后更改其配置。

如果 react-native 检查正在使用的端口并在使用时报告它,将会很方便,以避免其他人遇到同样的问题。

运行 从命令提示符以管理员身份(得到 react-native start 到 运行)

然后在另一个命令提示符下 run-android 经过极其漫长的等待后我得到:无法确定 java 10 的版本。

我将 [项目]/gradle/wrapper/gradle-wrapper.properties 中的 gradlew 升级为

distributionUrl=https\://services.gradle.org/distributions/gradle-4.3-src.zip

然后等了好久才结束,貌似什么都没做。 在 findLauncherJar 中遇到 filenullpointer 异常...

进一步阅读并更改为

distributionUrl=https\://services.gradle.org/distributions/gradle-4.3-all.zip

然后它挂了一条消息:

gradle refresh failed could not find com.android.tools buildg

找到建议更改文件 Android/build.gradle 的 SO 38702032,并将 gradle 版本更正为 4.3.0

又遇到一个错误,去 http://jcenter.bintray.com/com/android/tools/build/gradle/ 看看有哪些版本存在。发现最后是2.3.3

恢复原样并添加mavenCentral

还检查了路径 (C:\Users\MyUsername\AppData\Local\Android\Sdk\platform-tools;C:\Users\MyUsername\AppData\Local\Android\Sdk\tools)

和三个环境变量 (c:\program files\java\sdk-10) 以及我有两个 ANDROID_HOME 和 ANDROID_SDK_HOME (c:\users\MyUsername\AppData\Local\Android\Sdk) ...

重新启动并工作。

如果你在Windows,你可以尝试:

  • Ctrl + Alt + Delete 调出任务管理器
  • Select "Node.js: Server-side Javascript" 过程
  • 单击 "End Task" 按钮

然后再次尝试 react-native run-android 命令。

希望对您有所帮助。