私はReact.JSを使用していて、react-native run-Android
を実行すると(私のデバイスを接続した状態で)空白のページが表示されます。デバイスを振ってオプションリストからDebug JS Remotely
を選択すると、次の画面が表示されます。
参考:
OS: Ubuntu 16.04
Node version is: v4.6.2
Java version "1.8.0_111"
react": "15.4.1
react-native": "0.38.0
私の場合、問題はエミュレータが次のことを要求していることでした。
http://10.0.2.2:8081/debugger-ui
の代わりに:
http://localhost:8081/debugger-ui
と要求は失敗しました。
この問題を解決するには、エミュレータでリモートデバッグを有効にする前に、http://localhost:8081/debugger-ui
をchromeで開きます。それからリモートデバッグを有効にして、あなたがあなたのコンソールログを見るべきであるクロムページに戻ってください。
私の次の問題を解決しました:
Cmd + M
を押すDev settings > Debug server Host & port for device
に行くlocalhost:8081
を設定react-native run-Android
デバッガが接続されました!
私は自分の電話でadb reverse tcp:8081 tcp:8081
そしてreload
を実行して解決しました。
私の場合は、JSのリモートデバッグを選択してChromeを起動しましたが、Androidデバイスに接続できませんでした。通常、新しいChromeタブ/ウィンドウのアドレスバーにはデバッグ用のURLが事前に入力されていますが、この場合、アドレスバーは空白でした。タイムアウト期間の後、「リモートデバッガと接続できません」というエラーメッセージが表示されました。次の手順でこれを直しました。
adb reverse tcp:8081 tcp:8081
を実行http://localhost:8081/debugger-ui
を貼り付けます。通常のデバッグ画面が表示されますが、それでもアプリは接続されません。これで問題は解決するはずです。そうでない場合は、次の追加手順を実行する必要があります。
react-native run-Android
でアプリを再インストールします私はこの質問に私を導いた同様の問題を抱えていた。私のブラウザデバッガで、私はこのエラーメッセージを得ていました:
Originから ' http:// localhost:8081/index.delta?platform = Android&dev = true&minify = false 'にアクセスする http://127.0.0.1:8081 'がCORSポリシーによってブロックされています。要求されたリソースに' Access-Control-Allow-Origin 'ヘッダーがありません。不透明な応答がニーズを満たす場合は、CORSを無効にしてリソースを取得するために、要求のモードを 'no-cors'に設定します。
デバッガに127.0.0.1:8081
の代わりにlocalhost:8081
を使っていたことに気づくまでに少し時間がかかりました。
これを修正するには、Chromeを次のものから変更する必要があります。
http://127.0.0.1:8081/debugger-ui/
に
http://localhost:8081/debugger-ui/
バンドルを提供するノードサーバーがバックグラウンドで実行されていることを確認してください。サーバーを起動するには、npm start
またはreact-native start
を使用し、開発中はタブを開いたままにします。
私の場合は、リモートJSデバッグを有効にするをタップすると、chromeが起動しますが、接続できません。
私は走ろうとしました:
adb reverse tcp:8081 tcp:8081
、したがうまくいきませんでした。
私はクロムを完全にアンインストールして新しいものをインストールしました。そしてそれはうまくいきます。
だから実行することができます:
もしあなたがそれをうまく動かさなかったら、専門の開発者が特別に提供したRibamar Santos
の印象的な答えをすべて含むことで、あなたはもっとトリッキーなものをチェックしなければなりません!
あなたの(エミュレートされた)電話のAirplane mode
のようなもの!あるいはあなたのnetwork status of Emulator
(Data status and Voice status on Cellular tab of Emulator configuration
)はネットワークを表現しないように操作されるかもしれません!いくつかのエミュレーションニーズがあります。
私はこのトリックでこの問題を克服しました!この穴を見つけるのは少し息をのむようなデバッグでした!
アプリケーションをアンインストールしてから、react-native run-Androidを実行します。それからクロムのデバッグの終了をクリックしてください http:// localhost:8081/debugger-ui/ を置き換えてください。まだ成功していない場合は、もう一度やり直してください。
私の場合は、npmパッケージもインストールする必要があります
そう
npm install react-native-debugger -g
@sajibの答えをして、このスクリプトを使ってポートをリダイレクトしました。
#!/usr/bin/env bash
# packager
adb reverse tcp:8081 tcp:8081
adb -d reverse tcp:8081 tcp:8081
adb -e reverse tcp:8081 tcp:8081
echo "???? React Native Packager Redirected ????"