2

これは、サポート ライブラリ バージョン 28.0.0-rc01 を使用する Android P 上にあります。

いくつかの SO 投稿に基づいて、この問題の指示/解決策に従いました。

Android P DownloadManager が「127.0.0.1 へのクリアテキスト HTTP トラフィックは許可されていません」で停止する問題を解決するにはどうすればよいですか?

Android 8: クリアテキスト HTTP トラフィックが許可されていません

他のいくつかと一緒に。

問題は、network-security-config base-config がこの値を true に設定していても、NetworkSecurityPolicy.isCleartextTrafficPermitted を確認すると、false が返されることです。これにより、WebView で https 以外のページに移動すると、ERR_CLEARTEXT_NOT_PERMITTED エラーが発生します。

これは AndroidManifest のスニペットです

<application
    ...
    android:supportsRtl="true"
    android:networkSecurityConfig="@xml/network_security_config"
    android:usesCleartextTraffic="true">

「usesCleartextTraffic」のみ、「networkSecurityConfig」のみ、およびその両方を含む組み合わせでこれを試しました。

関連する network-security-config は次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" >
        <trust-anchors>
            <certificates src="system"/>
        </trust-anchors>
    </base-config>
</network-security-config>

「トラストアンカー」の有無にかかわらず試したことに注意してください。私は、prod AndroidManifest と network-security-config とデバッグ バージョンの両方を持っています。ただし、どちらも同じ設定です (デバッグでは、システムに加えてユーザー証明書が許可されます)。

また、logcat をチェックして、セキュリティ ポリシーが読み込まれていることを確認しました。この時点で、設定が尊重されていないように見えるので、私は途方に暮れています。

どんな助けでも大歓迎です。

4

2 に答える 2