Ionic CordovaでアプリをAndroid向けに開発するときに、livereloadが動いていませんでした。本記事ではその解決方法を紹介します。
実行したのは次のコマンドです。
エミュレータのAndroidの画面には次のようなエラーが表示されました。
ちなみにiOSの方では問題なくlivereloadできていました。
これで検索するとよくcleartextTrafficPermitted
やandroid:usesCleartextTraffic="true"
についての話が出ますが、これだけでは足りませんでした。
Ionic Forumの投稿を参考に解決しました。具体的な対応手順は次のとおりです。
まずはプライベートIPアドレス(ローカルIPアドレス)を調べます。
ここらへんはOSによって違うので各自で調べてください。ifconfig
、ipconfig
、ip
とかです。
resources/android/xml/network_security_config.xml
に次のようにIPアドレスを書きます。
実行時にオプション--host
にIPアドレスを指定します。
以上です。
あくまでもローカルでエミュレータを動かして確認する時の対応であるため、IPアドレスを書いたままnetwork_security_config.xml
をコミットしないようにしましょう。
念の為、筆者の環境も書いておきます。古いです😣
livereloadできない時の対応でした。最近アプリ開発を始めたばかりなのでXcodeやAndroid Studioとよく格闘しています。