2016-05-12 99 views
2

我正在按照指南啓動react.js。 http://code.tutsplus.com/tutorials/creating-a-dictionary-app-using-react-native-for-android--cms-24969 我安裝了節點,反應,android studio和genymotion模擬器。當我在模擬器建立應用程序的一部分,我得到這個錯誤:React-native:「無法連接到開發服務器」-Android應用

error build image

我激活USB debuggin工具。當我嘗試在命令提示符下運行adb devices命令時,它什麼也不給我。

回答

2

看起來服務器無法通過手機訪問。

可能的原因:

  • 服務器可能無法運行
  • 的IP地址可能是錯誤的
  • 電話無法訪問該IP地址

解決方案:

如果您通過USB連接手機。反向TCP端口號8081通過運行以下命令

adb reverse tcp:8081 tcp:8081 
+0

這應該是公認的答案! – WiRa

0

你需要下面跟隨命令來獲取NPM重新開始:

1)須藤lsof的-N -i4TCP:8081 | grep LISTEN

2)kill -9(在這裏輸入進程ID,從上面的命令返回)。

2

根據我從哪裏建設,我無法使用本地IP運行React Native應用程序(通常爲公共網絡,如咖啡店)。我已經能夠解決這個問題的最好方法是使用名爲ngrok的工具來建立到您本地主機的公共隧道。

一旦你安裝了它,只需運行ngrok http 8081(或者你爲打包程序使用的任何端口)。它會啓動隧道併爲您提供一個網址(如http://123j2h3s.ngrok.io)。在應用程序中,搖動以打開開發人員設置,觸摸Dev Settings,然後在調試觸摸Debug server host & port for device下輸入ngrok url(無需添加http://)。

希望這會有所幫助!

6

我建議2個步驟(兩者都需要解決我的問題)

  1. 關閉您的本地防火牆。在OSX,進入「安全&隱私」 - >「防火牆」 - >點擊鎖圖標 - >「關閉防火牆」

  2. 默認端口8081可以使用(即使lsof命令,否則建議) 。嘗試在啓動另一個端口: react-native start --port=8088

    和設備上,搖晃它以獲得dev的菜單中,點擊「開發設置」 - >「調試服務器主機&端口設備」 - >輸入「XX.XX.XX .XX:8088" (其中x是你的本地IP)

-1

要使用本地服務器上運行,運行反應本地項目根目錄

  1. 反應母語開始下下面的命令>/dev/null 2> 2名.adb反向TCP:8081的TCP:8081

要沒有服務器運行,通過運行捆綁jsfile到APK:

1.創建下機器人/應用/ SRC的資產的文件夾/主要是 2. curl「http://localhost:8081/index.android.bundle?platform=android」-o「android/app/src/main/assets/index.android.bundle」

0

我在Ubuntu 16.04中遇到了類似的問題。在我的情況下,問題是節點包裝程序未運行。

要檢查的打包很容易運行,就可以打開瀏覽器,輸入

http://localhost:8081/

你必須看到「響應本地打包正在運行。」

如果你不這樣做,你就可以開始從控制檯打包運行

反應本土開始

如果你喜歡

錯誤「ERROR表/ /項目/路/安卓/應用程序/生成/中間體/增量/ mergeDebugResources/merged.dir /值儒ENOSPC」

然後運行第一

回波fs.inotify.max_u ser_watches = 524288 | sudo tee -a /etc/sysctl.conf & & sudo sysctl -p

然後再次運行react-native start並在模擬器中按兩次字母R來重新加載。

相關問題