6

Android プロジェクトからエンドポイント バックエンドを作成するのチュートリアルに従っています。すべてがコンパイルされており、有望に見えます。バックエンドが稼働しています。

に変更CloudEndpointUtils#LOCAL_ANDROID_RUNしましたtrue。しかし、実際のデバイス (エミュレーターではない) でアプリをテストしようとすると、失敗します:

java.net.SocketException: failed to connect to /10.0.2.2 (port 8888) after 20000ms: isConnected failed: EHOSTUNREACH (No route to host)

そこで、エミュレータの仮想ルーターである でアプリが DevAppServer を検索するようにCloudEndpointUtils設定LOCAL_ANDROID_RUNされていることを確認しました。truehttp://10.0.2.2:8888

しかし、私はエミュレータを使用していません。だから私はこのURLを保持している定数を変更しようとしましたhttp://127.0.0.1:8888/が、まだうまくいきません。私は今失敗しています:

java.net.ConnectException: failed to connect to /127.0.0.1 (port 8888) after 20000ms: isConnected failed: ECONNREFUSED (Connection refused)

私のPCがファイアウォールの背後にあるためかもしれないと思ったので、無効にしましたが、それでも何もしません。

任意の提案をいただければ幸いです。

4

7 に答える 7

7

これを達成するには

  1. LOCAL_APP_ENGINE_SERVER_URL_FOR_ANDROID = IP アドレスを入力します (これは Android アプリにあります)。
  2. App-Engine プロジェクトを右クリック -> 実行 -> 実行構成 -> Web アプリケーション (左側のバー) -> app-engine プロジェクト。

2.(続き) 引数に移動 -> このように正確に追加

--address=0.0.0.0 --port=.......

* IP アドレスを取得するには、手順 1 で cmd -> ipconfig -> add (ポート番号付きの IPV4 アドレス) に移動します。

重要な注意:ドングルまたは動的 IP インターネット サービスからインターネットにアクセスしている場合は、これを毎回変更してください。

ありがとう...これは完全に機能します

于 2014-03-26T20:03:26.933 に答える
-2

アドレス10.0.2.2は、エミュレーターを使用して localhost にアクセスするためのものです。実際のデバイスを使用して localhost にアクセスするには、次の手順を使用します。

- コマンドライン (cmd) を開き、ipconfig を実行します。-コンピュータのIP アドレスを取得し、 10.0.2.2 をそれに置き換えます。 -デバイスでビルドして実行します。

これが誰かを助けることを願っています

于 2016-04-19T05:27:27.487 に答える