我已经定义了自定义网络安全配置,并按照此处的建议将其包含在清单中
res/xml/network_security_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">127.0.0.1</domain>
<domain includeSubdomains="true">localhost</domain>
</domain-config>
</network-security-config>
这是在我的Android里的清单:
<application android:icon="@drawable/icon"
android:allowBackup="false"
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:persistent="true" >
即使有了这些更改,当试图通过HTTP与127.0.0.1通信时,我也在Logcat中看到了以下内容:
08-09 10:50:34.395 30791 3607 D NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: true
08-09 10:50:34.397 30791 3607 D NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: true
08-09 10:50:34.401 30791 3607 W DownloadManager: [647] Stop requested with status HTTP_DATA_ERROR: Cleartext HTTP traffic to 127.0.0.1 not permitted
08-09 10:50:34.402 30791 3607 D DownloadManager: [647] Finished with status WAITING_TO_RETRY
编辑:更新(2018年8月21日)在“修复”此问题后,似乎在安装应用程序几个小时后,DownloadManager神秘地停止接受明文HTTP。
我无法解释发生了什么。如果我重新启动设备,在一段时间内运行良好,那么DownloadManager将再次拒绝明文。我把这个写成一个Android P的错误,我希望它能得到解决。
编辑2:更新(2019年1月17日)我的pixel2现在运行的Android9,带有2019年1月5日的补丁,我再也看不到这个问题了(到目前为止)。我猜这件事从八月份开始就解决了。
创建XML res/XML/network_security_config.XML
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
在您的标记应用程序中,在AndroidManifest.xml中引用该文件。如:
android:networkSecurityConfig="@xml/network_security_config"
我在我的应用程序中有一个问题,明文HTTP流量到x是不允许的。 我已经尝试在清单中添加Android:usescleartextTraffic=“true”。但是我想把“Android:usescleartextTraffic”标志改为“false”,以防止未加密的流量被发送。 这怎么解决?
我的程序从用户那里获取一个URL,所以它可以对互联网上的任何网站提出请求。我试图使这成为可能,我查找了所有关于“Android HTTP Cleartext”错误的答案,并做出了这一点,但它仍然不允许我连接我的测试本地PHP服务器,我在这里遗漏了什么? 我的安全配置:
对于模拟器,我使用Genymotion模拟器(它使用VirtualBox)。 下面是使用的按钮的代码。我已经检查了所有的东西,但仍然一无所获。
这是设备特定的问题Xiomi Redmi 3s,MIUI Global10.2,Android版本6.0.1。 关于这个问题的任何建议。