Kha*_*led 10 php android file retrofit
我正在尝试同时将大量图像上传到在线服务器,但我无法收到此错误 EPIPE(broken pipe)
12-13 19:00:25.389 1776-1776/? E/netmgr:无法打开 QEMU 管道 'qemud:network':无效参数 12-13 19:00:57.960 1706-1751/? E/storaged: getDiskStats failed with result NOT_SUPPORTED and size 0 12-13 19:01:05.180 2522-22392/com.google.android.gms.persistent E/WakeLock: GCM_HB_ALARM 发布没有匹配的获取!12-13 19:01:05.601 2522-22605/com.google.android.gms.persistent E/NetworkScheduler:指定的组件无效。12-13 19:01:16.094 1933-2653/system_process E/memtrack:无法加载 memtrack 模块
Col*_*shi 20
在 Android 模拟器/设备版本 >= 6.0 上可以看到此错误。当您的应用程序尝试向不安全的远程 API (http) 发送/接收请求/响应时,就会发生这种情况。这就是为什么您应该坚持通过安全通道 (http s )与远程 API 通信的原因。但是您可以通过在您的 android 清单文件的应用程序开始标记内将usesCleartextTraffic属性设置为“true”来解决该问题。
<application
android:usesCleartextTraffic="true" >
Run Code Online (Sandbox Code Playgroud)
上述提示解决了问题,但它往往会对数据完整性构成威胁。因此,您可以通过设置和利用网络安全配置文件来改进它。可以这样做;
第一步:转到 res->New->android 资源目录。创建您的 xml 资源目录
第 2 步:通过导航 (xml->New->XML Resource File) 在新创建的 xml 资源目录中创建一个新的资源文件(名称为:'network_security_config')。
第 3 步:将以下代码粘贴到新创建的“network_security_config.xml”文件中
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">your_site_domain.com</domain>
</domain-config>
</network-security-config>
Run Code Online (Sandbox Code Playgroud)
第 4 步:转到您的 AndroidManifest.xml 文件并在您的 android 清单文件的应用程序开始标记中添加代码android:networkSecurityConfig="@xml/network_security_config"。
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config" >
Run Code Online (Sandbox Code Playgroud)
Emr*_*lan 10
这个问题发生在我的 Android 9.0 中,我通过在应用程序标签中添加 android:usesCleartextTraffic="true" 来修复它。
<application
..
android:usesCleartextTraffic="true"
>
Run Code Online (Sandbox Code Playgroud)
您可以在此处找到更多信息:https : //medium.com/@son.rommer/fix-cleartext-traffic-error-in-android-9-pie-2f4e9e2235e6