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

Pum*_*eed 11 android android-studio react-native

我正在尝试测试我的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 }
Run Code Online (Sandbox Code Playgroud)

我收到提示但不总是,如果我继续尝试它有时运行正常,但我必须运行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端口,因此不允许创建新端口.我关闭了远程调试器,它运行没有问题.我不确定这可能是问题所在.

小智 10

我在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"
}
Run Code Online (Sandbox Code Playgroud)

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

 npm run clean //this will clear all cache
Run Code Online (Sandbox Code Playgroud)

之后

npm run android 
Run Code Online (Sandbox Code Playgroud)

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

有时添加

adb reverse tcp:8081
Run Code Online (Sandbox Code Playgroud)

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

org.gradle.daemon=true
Run Code Online (Sandbox Code Playgroud)