Could not connect to development server是運行react-native到移動端一個經常出現的bug,很多情況下也是讓人很迷茫;但是本人經過一整天的摸索和測試,查詢了很多文檔和其他人解決的一些小方法;總結如下:
首先,你要確保你的手機和電腦處在同一WiFi下,如果不在同一個網絡下一定會報這個錯誤;而且又不容易發現
如果不是這個錯誤,那你就要按照報錯的類型逐個排除,將錯誤翻譯過來就是:
連接不到開發的服務器。
請按照以下的步驟來修復此問題:
-
-
確保服務器在運行
- 確保你的設備或者模擬器連接着電腦,並且手機打開了USB調試模式,然後在cmd中運行adb devices來查看已經連接好的設備列表
- 確保飛行模式是關閉的
- 如果是使用真機來開發,輸入 adb reverse tcp:8081 tcp:8081來檢查設備
- 輸入IP:8081(這個大家都會)
1,首先檢查包服務器是否運行正常。
在項目根目錄下打開命令行,輸入react-native start或者npm start均可開啓服務器,但是我們需要在PC端確認包服務器是否運行正常。從瀏覽器端輸入網址爲:http://localhost:8081/index.Android.bundle?platform=android,如果長時間轉圈不顯示或者一直都不顯示;這個有可能是由於node的版本問題,可以使用npm下載最新的node版本,之後再運行就沒有問題了。
2,檢查硬件連接,使用adb devices 來看手機是否與電腦準確連接,如果成功,會出現一串字符串,設備顯示爲device而不是unauthoried(未授權);重新用USB將手機和電腦連接起來,在嘗試一下
3, 從設備獲取開發服務器
一, 使用 adb 反轉
請注意這個選項只支持運行在安卓 5.0+ (API 21) 上面的設備。
使用 USB 將你的設備連接,並開啓調試模式(可以看看上面如何在你的設備上面允許 USB 調試模式)。
- 運行 adb reverse tcp:8081 tcp:8081
- 你可以使用 Reload JS 和其他開發者參數,而不需要額外的配置
二,通過 Wi-Fi 來配置設備並且連接上你的開發者服務器
要做到這一點,你的電腦和你的手機必須在同一個 wifi 網絡下。
- 打開震動菜單 (搖動設備)
- 前往 Dev Settings
- 前往 Debug server host for device
- 輸入該設備的 IP 和 Reload JS
- 如果還沒有解決那就把USB關閉重新打開,在連接一次試一下
4,搖一搖手機選擇Dev Settings 輸入IP:8081的。
基本上這些辦法是能夠解決這個問題了