java如何修复“不允许x的明文HTTP通信”
我试图向http服务器发出post请求,但是当我试图获取输入流时,我得到了错误java.io.IOException: Cleartext HTTP traffic to x not permitted
我已经尝试将安卓:usesCleartextTraffic="true"
放在我的清单中,并进行了网络安全配置,将安卓:targetSandboxVersion设置为1
app/src/main/res/xml/network\u security\u config。xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">Server adress</domain>
</domain-config>
</network-security-config>
app/src/main/AndroidManifest。xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
package="com.example.packagename"
安卓:targetSandboxVersion="1">
<uses-permission 安卓:name="安卓.permission.INTERNET"/>
<application
安卓:allowBackup="true"
安卓:icon="@mipmap/ic_launcher"
安卓:label="@string/app_name"
安卓:roundIcon="@mipmap/ic_launcher_round"
安卓:supportsRtl="true"
安卓:theme="@style/AppTheme"
安卓:usesCleartextTraffic="true"
安卓:networkSecurityConfig="@xml/network_security_config"
>
<activity 安卓:name=".MainActivity">
<intent-filter>
<action 安卓:name="安卓.intent.action.MAIN" />
<category 安卓:name="安卓.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
对数输出
D/NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: true
W/System.err: java.io.IOException: Cleartext HTTP traffic to x not permitted
W/System.err: at com.安卓.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:124)
W/System.err: at com.安卓.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:462)
W/System.err: at com.安卓.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
W/System.err: at com.安卓.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:248)
任何帮助都将不胜感激
# 1 楼答案
试着使用just
删除此2
我的应用程序可以在任何API中使用android:usesCleartextTraffic=“true”
# 2 楼答案
不要这样做,这可能是获取运行时错误 做最简单的方法; 转到android本机项目,在这里您可以看到属性单击此处,然后获取AssemblyInfo。cs文件,然后在下面编辑此部分
[程序集:应用程序(UsesCleartextTraffic=true)]
下面是我的代码示例:-
注意:此更改只需要android 9 Pie或更高版本
# 3 楼答案
我向Android清单文件添加了以下代码:
# 4 楼答案
在项目res/xml/security\u config中创建一个文件。xml-
另外,如果您在中有android:targetSandboxVersion,则将其减少为1
# 5 楼答案
可能是你弄错了。这是从另一个来源获得的正确格式
AndroidManifest。xml-
如果在中有android:targetSandboxVersion,则将其减少为1
AndroidManifest。xml-
# 6 楼答案
我也遇到了同样的问题,我通过将安卓版本降低到25英寸解决了这个问题,并且,该应用程序在安卓9及更小的设备上运行良好