Android9以上でhttp平文通信を行う

Android9以上ではデフォルトでSSL/TLS通信を行うようになっています。

しかし、接続先によっては非SSL/TLS通信を行う必要もあるかと思います。
何も対応を行わずにアプリから通信を行おうとすると
“java.io.IOException: Cleartext traffic not permitted:(通信先)”
といったエラーが出力されます。

対応として、AndroidManifestの<application>に
android:usesCleartextTraffic=”true”
を追記して全ての平文通信を許可するか、
設定ファイルを別で作り、同じように <application>に
android:networkSecurityConfig=”設定ファイル”
を追記しドメイン毎に許可をする方法があります。

設定ファイルの中身の例です。

<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">許可したいドメイン</domain>
    </domain-config>
</network-security-config>

複数指定したい場合は
<domain includeSubdomains="true">許可したいドメイン</domain>
を必要な数だけ追加すればOKです。

水曜担当:Tanaka



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム