![](/img/trans.png)
[英]'React native run android' stops just after start the app in emulator
[英]'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安裝指南。
更新:
我嘗試了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
在我的情況下,只是清理緩存是有幫助的:
npm cache clean --force
.android/gradlew clean
在我的情況下,當沒有任何錯誤並且構建成功時,構建器在構建和應用程序崩潰后退出。
這是你解決它,退出后,只需鍵入
yarn start
你的反應原生應該正常運行。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.