0

私はこれらの指示に従っていますhttps://developers.google.com/eclipse/docs/appeng_android_create_projectアプリエンジンに接続されたAndroidプロジェクトをセットアップします。

gwt 2.4、Android SDK 18、アプリ エンジン プラグイン 1.6.6、Eclipse Indigo、および Windows 7 を使用しています。c2dm アカウントにもサインアップしました。「クラウドに接続する」ためにエミュレーターにアカウントを追加できないように見えるため、Android 4 を実行している Galaxy nexus でプロジェクトを実行しようとしています。

「Say Hello」をクリックすると、最終的に次のエラー メッセージが表示されます。

Failure: Connection to http://192.168.2.2:8888 refused

192.168.2.2 は、ipconfig によると、実際には私の IP アドレスです。

この質問App Engine Connected Android : can't make sample project work correctly を認識していますが、彼のエラーは 127.0.1.1 への接続に失敗したことを示していますが、私の実際の IP アドレスは表示されています。それにもかかわらず、ローカル IP アドレスとパブリック IP アドレスの両方で彼の解決策を試みましたが、IP アドレスが異なるだけで常に同じエラーが発生します。

誰でも助けてもらえますか?

編集:

Peter が私の IP アドレスの問題を指摘した後、私はすぐに App Engine にデプロイして、そこで動作するかどうかを確認することにしました。私は正常に展開し、Android の部分を自分の携帯電話で実行しました。強制終了をクリックした後、アプリは非常に長い間「接続中...」と表示し、その後強制終了します。logcat で次のエラー メッセージが表示されます。

06-01 18:05:14.678: E/AndroidRuntime(11328): FATAL EXCEPTION: main
06-01 18:05:14.678: E/AndroidRuntime(11328): java.lang.RuntimeException: Error receiving broadcast Intent { act=com.testprojectfourteen.UPDATE_UI flg=0x10 (has extras) } in com.testprojectfourteen.TestProjectFourteenActivity$1@41826430
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:737)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.os.Handler.handleCallback(Handler.java:605)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.os.Handler.dispatchMessage(Handler.java:92)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.os.Looper.loop(Looper.java:137)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.app.ActivityThread.main(ActivityThread.java:4340)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at java.lang.reflect.Method.invokeNative(Native Method)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at java.lang.reflect.Method.invoke(Method.java:511)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at dalvik.system.NativeStart.main(Native Method)
06-01 18:05:14.678: E/AndroidRuntime(11328): Caused by: java.lang.NullPointerException
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.app.PendingIntent.getActivity(PendingIntent.java:195)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at com.testprojectfourteen.Util.generateNotification(Util.java:119)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at com.testprojectfourteen.TestProjectFourteenActivity$1.onReceive(TestProjectFourteenActivity.java:82)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:728)
06-01 18:05:14.678: E/AndroidRuntime(11328):    ... 9 more
4

1 に答える 1

2

プライベート IP アドレス192.168.2.2であり、インターネット上では表示されません。C2DM は、プライベート IP に接続しようとする Google が実行するパブリック サービスですが、アクセスできないため、エラーが発生します。

回避策は、ルーターのインターネットから見える IPを見つけて、それにポート転送を設定することです (これはルーターによって異なります)。

于 2012-06-01T20:26:15.493 に答える