Androidアプリ作成時にPCサーバーへの接続ができない問題について

このQ&Aのポイント
  • AndroidアプリをEclipseで作成し、実機で動かす際に、PCサーバーへの接続ができない問題が発生しました。
  • エミュレーターからの接続ではうまくいくが、直接インストールした場合には接続できない現象が起きています。
  • 権限の設定やIPアドレスの指定方法は正しく行っていると思われるため、他に問題があるのかどうか、同様の現象に遭遇した方の接続方法について教えていただきたいです。
回答を見る
  • ベストアンサー

Androidアプリを作成したかた来てください

AndroidアプリをEclipseで作成し、実機で動かした方に質問をしたいです。 実機といってもUSBごしにEclipseからエミュレーターの代わりとして起動するのではなく .apk ファイルを直接端末にコピーし、インストールした方、 またそのアプリがネットワークに接続するものだとなおいいです。 わたしはPCをXamppでサーバーとし、サーバー内にPHPファイルをおいており、それをアンドロイド側からPHPをアクセスする、という形のものを作っています。 エミュレーターからつなぐのであれば 10.0.2.2 というIPアドレスに飛ばします。 では 実機で同じLAN内にいるのであれば10.0.2.2という形ではないのはわかります。 そこで同じLAN内かつPC側のIPアドレスを固定し、 試しにアンドロイド側からPCサーバーのIPアドレスをブラウザで打ち込み試したところ閲覧すること及び動作確認はできました。 なのでAndroid側からPCサーバー側への接続は確立されていることが確かめれました。 そこでアプリ側にも接続の際URI url = IPアドレスを指定している10.0.2.2をPCサーバーのIPアドレスにしたところつながりませんでした。 調べたところマニフェストファイルの権限あたりが怪しかったため、インターネット権限、Wifi権限など追加しましたが結果アクセスしようとするとアプリが強制終了します。 わたしの見解ではIPアドレスの指定の仕方は合っていると思うので アプリ側の権限等にこれ以上のものがあるのかといったところです。・・・・・・ エミュレーター側だと動作はしっかりとできます そこで質問したいのが アプリを直接インストールして私と同じような現象になった方でどうやって接続したかがお聞きしたいです。またしていなくてもわかる方なら全然ありがたいです。 わからなくても問題点を上げていただければ幸いです・・・説明が下手くそかもしれませんがご協力のほどよろしくおねがいします。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

しばらくAndroid開発から離れているので直接的な回答はできませんが…… なぜ強制終了しているかは調べましたか? 例外が発生して強制終了するのであれば、 例外の種類・スタックトレース等を出力し、それを手がかりに調査してみてはいかがでしょうか。 また、端末固有の問題もあるかもしれませんので、 お持ちであれば他の端末で試してみるのもいいと思います。

syadowfez
質問者

お礼

返事遅くなって申し訳ございませんでした。あなたの言われたとおり端末固有の問題に着目したところ APIレベルというものと、AndroidOSの問題であることがわかりました。 OSが4.0↑だとHTTP通信の時例外を投げるためそれを無効にするコードを打ち込み次第は収まりました。 自分の未亡人な説明に回答していただき助かりました。 ありがとうございました

関連するQ&A

  • Androidアプリ作成でこまっています

    Android Eclipse でかんたんなアプリを作っています。エミュレーターではできるのですが、実機では動かないです。Xamppを使っています 実機というのはUSBでつないでいるのではなく直接インストールしています エミュレーターからLocalhostにつなぐ時、 10.0.2.2でつなぐことはみなさんご存知だと思いますが じぶんは自分のAndroid端末にいれて同一ネットワークのWifi経由で繋ぎたいので PCのIPアドレスを打ち込んでいます。 ですが、どうやらつながらない模様です。端末のブラウザからはIPアドレスを打ち込むとXamppの設定画面?がでていますのでIPアドレスの間違いまたは接続ができないということはないとおもいます。 ですがいざ自分の作ったアプリをインストールし、通信を行うページまでいくと「問題が発生したため~終了します」とでます。 わたしは権限の問題かと思いManifestにACCESS_COARSE_LOCATION ACCESS_WIFI_STATE CHANGE_WIFI_STATE ACCESS_NETWORK_STATE INTERNET を追加しましたが、いまだにできません ちなみに使っているPOST通信をするのは String ret = ""; // URL URI url = null; Log.d("posttest", "11"); try { url = new URI( "http://192.168.24.54:80/CarStudy/passview.php" ); Log.d("posttest", "URLはOK"); } catch (URISyntaxException e) { e.printStackTrace(); ret = e.toString(); } // POSTパラメータ付きでPOSTリクエストを構築 HttpPost request = new HttpPost( url ); List<NameValuePair> post_params = new ArrayList<NameValuePair>(); post_params.add(new BasicNameValuePair("userid", ID)); try { // 送信パラメータのエンコードを指定 request.setEntity(new UrlEncodedFormEntity(post_params, "UTF-8")); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } // POSTリクエストを実行 DefaultHttpClient httpClient = new DefaultHttpClient(); try { Log.d("posttest", "POST開始"); ret = httpClient.execute(request, new ResponseHandler<String>() これでretないにPHPで吐き出したのを格納するのですがどうやらここでエラーが出るみたいです。エミュレーターのほうではエラーが出ません。 日本語がおかしくわかりづらいかもしれませんがお力をおかしください・・・

  • EclipseでのAndroidアプリ開発について

    プログラム初心者ですが、Eclipseを使ってアンドロイドアプリの開発をしようとしています。 様々なサイトを参考に初心者ながらなんとか開発環境を整えるとこまで来れたのですが、Eclipse上からAndroidのエミュレーター起動の仕方が分かりません。 エミュレーター起動だけならAVD Managerのexeファイルを使ってできるのですがそこにEclipseで作ったプログラムを動かすことはできませんし(やり方があるのかもしれませんが…)、大体のサイトの説明だとEclipseからエミュレーター起動ができるようですよね…? また、実機(GalaxySIILTE)で、作成したアプリケーションを動かすにはどうすればいいのでしょうか? なんだか分かりにくい文章ですみません。ご回答、よろしくお願いします!

  • Eclipseでアンドロイドアプリの開発にチャレンジしているのですが、

    Eclipseでアンドロイドアプリの開発にチャレンジしているのですが、デバックしていると、Androidエミュレーターとの接続が切れてしまいます。毎回エミュレーターの再起動ないしを行わなければならず、非常に不便です。 DDMSからreset adbしたり、コマンドラインから adb kill-server → adb start-server すれば接続は復活しますが、またすぐ切れてしまいます。 環境としては  Eclipse 3.6 Andorid SDK は r7  ADTは0.9.9です 原因としてどういうことが考えられ、なにか対策あるのでしょうか

  • Androidエミュレーターでアプリが実行されない

    Androidに関して質問があります。 Androidエミュレーターでアプリが実行されません。 Eclipseで開発環境を構築し、本に書いてあった「Hello World」のソースコードの入力までは済みました。 しかし、エミュレータが起動するところまでしか、行きません。 成功すれば、「Hello World」が実行されるはずなのですが…。 Androidエミュレーターのアプリの画面にも、「Hello World」は見当たりません。 理由が分かる方、教えてください。 お願いします。

  • EclipseのDDMSでAndroidが見えない

    Eclipse Ver4.2でAndroidのアプリを勉強しています。 『Hello World!』という文字列を表示するだけのアプリを作りました。 エミュレータ上では問題なく動作しています。 この時のエミュレータはDDMSに表示されるのですが、実機(中華Pad)に USB接続をしてデバッグをしようと思っているのですがDDMS上に表示 されません。 実機(中華Pad)の設定のUSBデバッグはチェックしています。 またUSBマスストレージとしては正常に使用出来ます。 中華バッドはNovo7 Venusという機種名です。

    • ベストアンサー
    • Java
  • エミュでアプリをインストールしたい

     Android Studio エミュレータをPCで動かしているんですが、エミュレータでも 実機と同じようにネットにあるゲームアプリを落としてプレイしたいです。 Android Studioでできるんでしょうか?  ゲームアプリっていうのはパズルグミとか15パズルとかです。 容量は大きいかどうかは問いません。

  • Androidアプリ開発をしようとしている初心者です。

    Androidアプリ開発をしようとしている初心者です。 すみません。どうしても解決できなくてこちらで質問させてもらいます。 EclipseでAndroidアプリケーション開発環境をいれております。 昨日まではエミュレータ上で起動できたのですが、急に使えなくなり eclipseを起動すると添付しました画像のエラー情報が画面にでてきます。 またEclipse設定でインストールしたSDKファイルを指定しなおしても、   「No target available」 とSDKファイルが読み込めない?状態になっています。 いろいろなページを調べても、エラー対処法が見つかりませんでした。 (自分が英語が弱くて、読めないということもあるのですが・・・) このエラーの対処方法がわかる方、ぜひ教えてください。 よろしくお願いします。

  • Android Socket.connectエラー

    Androidでソケット通信するプログラムを作っています。 PC側がソケットサーバーをたてて(accept)、 Android側でクライアントとして接続(connect)するようにしています。 connectを実行している部分のソースは以下のようにしています。 ----------------- String ip = "192.168.XX.XX"; <-PCのIPアドレス int port = 9999; socket = new Socket(); InetSocketAddress addr = new InetSocketAddress(ip, port); try{ socket.connect(addr); return true; }catch(IOException e){ e.printStackTrace(); return false; } ------------------ 上記やり方でまずはエミュレータで試したところうまく行きました、その後 実機に入れて同じように実行したところconnectのところで例外が飛んできます。 メッセージは"no route to host"でした。 実は全く同じソースで以前は実機でもできていたはずなんですが、 最近試したところできなくなっているようでした。 Android端末はXperia Arcですが、OSを2.3.4にバージョンアップしたことくらいで 以前と特に変わったところはないと思うのですが 原因として何が考えられるでしょうか? よろしくおねがいします。

    • ベストアンサー
    • Java
  • 実機にのせたAndroidアプリが起動できない

    お世話になっております。 Eclipseを使用してandroidアプリを自作しました。 android端末をPCにUSB接続し、 Eclipseからデバッグ実行で動作確認ができたため、 android端末にインストールして動かしてみようと思い、 以下の手順でインストールを試みました。 1. android端末の「設定」→「アプリケーション」→「提供元不明のアプリ」に チェックを入れておく 2. Eclipse上で該当のプロジェクトを右クリック →「Androidツール」→「Export Signed Application Package...」を選択、 署名付きの.apkファイルを作成 3. コマンドラインで「adb install (.apkファイル名)」を実行し android端末にapkファイルをインストール (「Success」と表示されました) android端末の「設定」→「アプリケーション」→「アプリケーションの管理」で 表示されるアプリの一覧には、 該当のアプリが表示されるため、 インストールはできている(?)ようなのですが、 ランチャーに該当アプリのアイコンが見当たらず、 起動することができません。 ちなみに、使用したandroid端末は auのIS05、Androidのバージョンは2.3.4です。 また、自作したアプリは、大まかに言うと Intentでカメラアプリを起動→写真を撮影→SDカードに保存&サーバに送信(POST)する、 というものです。 どなたか原因にお心当たりのある方、 同じような経験をされた方がいらっしゃいましたら 教えていただけないでしょうか? よろしくお願いいたします。

  • 実機を持たずAndroidアプリを作成してみたい。

    環境:Widows XP SP3 Android実機は所有しておりません。 実機の購入前に テキストの入出力とファイルの読み書き程度のアプリをテスト作成してみたいのですが お手軽な開発環境等でお奨めがあれば教えて頂けませんでしょうか?

専門家に質問してみよう