📅  最后修改于: 2023-12-03 15:14:33.109000             🧑  作者: Mango
当 Android 应用程序未指定网络安全配置时,会导致系统默认使用平台配置,而产生 D NetworkSecurityConfig 错误提示。
现代安全标准下,谷歌推出了强制实施网络安全配置的措施,Android P 以上的系统版本,访问非 HTTPS 的服务将会被拦截掉,从而防止应用的数据被窃取、篡改或伪造。
因此,在开发过程中,如果应用中使用了 HTTP 请求,就会出现 "D NetworkSecurityConfig:未指定网络安全配置,使用平台默认值 " 的提示。
此时,需要对应用中的网络安全配置进行正确的设置,否则会影响应用在 Android P 以上版本的正常运行。
通过以下步骤,可解决以上问题:
AndroidManifest.xml
中添加以下代码:<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.app">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:usesCleartextTraffic="true"
... >
...
</application>
</manifest>
res
文件夹下新建 xml
文件夹并在该文件夹下新建 network_security_config.xml
文件,内容如下:<?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>
AndroidManifest.xml
文件<application>
节点中的 android:networkSecurityConfig
属性:<application
android:name=".MainApplication"
android:networkSecurityConfig="@xml/network_security_config"
...>
...
</application>
在 Android P 以上版本中,需要对网络安全配置进行正确的设置,否则无法正常访问 HTTP 请求。
通过以上三个步骤,可在应用中正确配置网络安全配置,保证应用的正常运行。