1
1

More than 3 years have passed since last update.

リリースビルドで「SocketException: Failed host lookup: 'xxxxxxx' (OS Error: No address associated with hostname,)」と言われたときは。

Posted at

要約

  • デバッグモードでリクエスト飛ばせたのに、リリースビルドだと表題のエラーが出る
  • ちゃんと<uses-permission android:name="android.permission.INTERNET" />を付与しよう!
  • 公式ドキュメントを、見よう

事例と原因、対策

Flutterアプリでhttpなど通信を行うアプリを作っている時に気を付けたい事例です。
デバッグビルドやiOSのリリースビルドでは問題なく動いたのに、リリースビルドのAndroidのみ通信部分でエラーが起きる場合があります。

エラー内容としては以下の通りです
SocketException: Failed host lookup: 'xxxxxxx' (OS Error: No address associated with hostname,)

原因としては、インターネットに関するパーミッションが付与されていないことでした。

Android開発を経験した人にはお分かりだと思いますが、Androidではネットワークを使用するためには
<uses-permission android:name="android.permission.INTERNET" />
をAndroidManifest.xmlに付与しないといけません。

しかしながらflutterのデバッグモードでは、このパーミッションを付与せずともネットワークが使用可能になっています。
https://flutter.dev/docs/deployment/android#reviewing-the-app-manifest

Flutterから入った人、Android開発経験が久しぶりな人には、ついうっかり起きてしまうのではないでしょうか。
Flutterの公式ドキュメントは内容が豊富なので(ただし英語)しっかり活用していきたいところです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1