繁体   English   中英

在模拟器中启动应用程序后,“React native run android”立即停止

[英]'React native run android' stop immediatelly after start the app in emulator

我正在尝试测试我的Android应用程序,但是当我在设备启动时启动它并使用react-native run-android命令后立即停止而没有错误。

我懂了:

This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.14.1/userguide/gradle_daemon.html
Running adb -s emulator-5556 reverse tcp:8081 tcp:8081
Starting the app on emulator-5556 (adb -s emulator-5556 shell am start -n com.app/.MainActivity)...
Starting: Intent { cmp=com.app/.MainActivity }

我收到提示但不总是,如果我继续尝试它有时运行正常,但我必须运行10-15次。 SDK版本为25,我遵循React Native Getting Started安装指南。

  • 操作系统:Fedora 24
  • React-native:0.42.0

更新:

我尝试了react-native start ,据说对我来说Loading dependency graph... ERROR Packager can't listen on port 8081但我不明白为什么上一个命令没有对我说。 在这种情况下,我可以使用--port 9000更改端口,但我没有在react-native run-android命令中找到任何其他标志。

更新2:

似乎问题出现了,因为远程调试器在设备上打开并且它连接到:8081端口上的远程调试器,并且adb想要通过:8081为旧的远程调试创建一个新的服务器用于移动应用程序仍占用:8081端口,因此不允许创建新端口。 我关闭了远程调试器,它运行没有问题。 我不确定这可能是问题所在。

我在ubuntu遇到同样的问题对我有用的是我关闭终端从usb重新启动我的设备。 首先,建议你在packages.json中添加这些行来替换脚本

"scripts": {
"prepare-repository": "npm i -g react-native-cli yarn;yarn install; react- native link",
"emulator": "emulator -avd Nexus5V6L23_x86_64 -scale 1.0",
"install": "react-native run-android",
"start": "react-native start --reset-cache",
"android": "npm run install && npm run start",
"clean": "watchman watch-del-all && npm cache clean && cd android && ./gradlew clean && cd ..",
"test": "jest"
}

之后保存它然后转到你创建项目的文件夹。 让我们说我的家/工作区/演示。 在那个运行脚本里面

 npm run clean //this will clear all cache

之后

npm run android 

它将在设备中运行应用程序以及启动重置缓存。让我知道它是否有帮助。

有时添加

adb reverse tcp:8081

在运行npm之前运行android的技巧我会建议你启用Gradle守护进程它真的让你的构建更快。 要启用它转到android-> gradle.properties并在该文件内写

org.gradle.daemon=true

我有同样的问题,这里描述的问题端口已经在使用中 所以只需杀死占用端口的进程。

sudo lsof -i :8081

kill -9 <PID>

在我的情况下,只是清理缓存是有帮助的:

npm cache clean --force  
.android/gradlew clean

在我的情况下,当没有任何错误并且构建成功时,构建器在构建和应用程序崩溃后退出。

这是你解决它,退出后,只需键入

yarn start

你的反应原生应该正常运行。

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM