java.net.unknown_Android 访问网络提示:java.net.UnknownServiceException: CLEARTEXT communication to not per...
时间: 2023-11-27 22:53:30 浏览: 53
这个错误是因为 Android 9.0 (API level 28) 及以上版本不再支持明文传输(Cleartext Traffic),即应用不能使用不加密的 HTTP 协议与网络进行通信。如果你需要使用 HTTP 协议进行网络通信,需要在应用的 AndroidManifest.xml 文件中添加以下代码:
```xml
<application
...
android:usesCleartextTraffic="true">
...
</application>
```
这个设置会允许应用使用明文传输,但是并不推荐在正式应用中使用明文传输,建议使用 HTTPS 协议进行加密传输。如果你已经有了一个支持 HTTPS 的服务器,应该将应用中使用的 URL 改成 HTTPS 协议的,这样就能避免使用明文传输了。
相关问题
java.net.UnknownServiceException: CLEARTEXT communication to 192.168.0.71 not permitted by network security policy
这个错误是由于Android 9以后版本默认禁止明文(Cleartext)流量的原因所致。如果您的应用程序需要访问明文流量,则需要在AndroidManifest.xml文件中添加以下配置:
```
<application
...
android:usesCleartextTraffic="true"
...>
...
</application>
```
这个配置告诉Android系统允许您的应用程序访问明文流量。但是,这并不是最佳实践。为了确保应用程序的安全性,建议您尽可能使用加密的传输协议,如HTTPS等。如果您使用的是第三方库,您也可以尝试将其升级到支持HTTPS的版本,或联系开发人员以获取支持。
如何解决java.net.UnknownServiceException: CLEARTEXT communication to testfile.iot.evideocloud.com.cn not permitted by network security policy
这个错误是由于Android9.0及以上版本默认禁止应用程序使用明文传输协议(包括HTTP)而引起的。要解决这个问题,你可以使用以下三种方法之一:
1. 使用HTTPS协议进行通信:使用HTTPS协议来替代HTTP协议,因为HTTPS协议是加密的,可以保证数据传输的安全性。
2. 在AndroidManifest.xml文件中添加android:usesCleartextTraffic属性:在应用程序的AndroidManifest.xml文件中添加以下代码:
```
<application
...
android:usesCleartextTraffic="true"
...>
</application>
```
这行代码将允许应用程序使用明文传输协议。
3. 在res/xml目录下创建一个network_security_config.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文件中:
```
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...>
</application>
```
这行代码将允许应用程序使用明文传输协议。