目的
Android Studioをアップグレードして、アプリを実行したら、
Cleartext HTTP traffic to XXX.XXX.XXX.XXX not permitted
と表示されて、HTTP通信ができなくなった。
Android9から対応が必要になったよう。AppleでいうATSのようなもの。
※もしかしたらAndroidでもATSというのかもしれませんが。。
対応
一番良いのは、HTTPS通信にすることです。
ただ、今回はHTTP通信を許可する設定としました。
まず、AndroidManifest.xml
にandroid:networkSecurityConfig
設定を追記。
<manifest ... >
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...
</application>
</manifest>
次に
res/xml/network_security_config.xml
というファイルを作成し、以下を追記。
xml
がない時はxml
から作成。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">XXX.XXX.XXX.XXX</domain>
</domain-config>
</network-security-config>
ドメインなども設定可能、複数設定可能。