网络安全策略不允许与XXX.XXX.XXX.XXX进行CLEARTEXT通信

时间:2020-01-14 10:07:20

标签: java android

这是清单文件

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />

<application
    android:usesCleartextTraffic="true"
    android:name=".Dao.MyApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:networkSecurityConfig="@xml/network_security_config"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".FoundActivity"></activity>
    <activity android:name=".LPcapActivity" />
    <activity android:name=".RentActivity" />
    <activity android:name=".MPxtActivity" />
    <activity android:name=".LPanActivity" />
    <activity android:name=".LDtileActivity" />
    <activity android:name=".TabActivity" />
    <activity
        android:name=".MainActivity"
        android:noHistory="false">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <provider
        android:name="androidx.core.content.FileProvider"
        android:authorities="com.stk.android.compapp.provider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_paths" />
    </provider>

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
</application>

我已经在XML文件夹下创建了XML文件(network_security_config.xml)

enter image description here

    <?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">http://121.345.678.90:7744/KBB/Kbblist</domain>
        <domain includeSubdomains="true"> http://111.234.177.123:1100</domain>
    </domain-config>
</network-security-config>

我也尝试了此链接中的可用选项
android-8-cleartext-http-traffic-not-permitted
不过,我仍然会收到此错误,它表示网络安全策略不允许进行CLEARTEXT通信

3 个答案:

答案 0 :(得分:9)

只需将其添加到清单中的application标签中即可:

android:usesCleartextTraffic="true"

这里

<application
    android:usesCleartextTraffic="true"
    android:name=".Dao.MyApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:usesCleartextTraffic="true"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

希望对您有帮助!

答案 1 :(得分:0)

尝试使用以下安全配置代码

<?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>

答案 2 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>