変更があったため、Android <P(targetSdkVersion 28
を設定するまで)で正常に動作するHTTPサーバーを使用して組み込みデバイスに接続しようとしています デフォルトで有効になっているネットワークTLS 。
クリアテキストトラフィックをオプトアウトする方法があります しかし、これはドメインおよびIPアドレスではありません。
ドメインではなくIPを使用してAndroid:networkSecurityConfig
をマニフェストに設定しようとしましたが、これは機能しませんでした:
<network-security-config>
<domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">172.16.33.1</domain>
</domain-config>
</network-security-config>
これを<base-config cleartextTrafficPermitted="false">
として設定しても機能しません。
したがって、非TLS通信を機能させる方法はないようですドメインがない場合。ただし、これはローカルネットワークの組み込みデバイスであるため、ドメインはありません(IPしか知りません)。
これは、もはや通信できなくなるあらゆる種類の組み込みデバイスにとって大きな問題のようです。さらに、 "新しいアプリと既存のアプリのアップデートでは、APIレベルをターゲットにする必要があります[2020年11月28日]" (2018年11月にAPI 26から始まり、毎年進歩しています)。
これを可能にする方法はありますか?
@hardysimの回答が機能しています、ここに簡単な例があります
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true"></base-config>
</network-security-config>