I\'m trying to upload a lot of images to online server in the same time, but i can\'t i got this error EPIPE(broken pipe)
12-13 19:00:25.389 1776-1776
This issue was occurring in Android 9.0 for me and I fixed it by adding android:usesCleartextTraffic="true" inside application tag.
<application
..
android:usesCleartextTraffic="true"
>
You can find more information here: https://medium.com/@son.rommer/fix-cleartext-traffic-error-in-android-9-pie-2f4e9e2235e6
This error could be seen on Android Emulator/Device Version >= 6.0. It occurs when your app tries to send/receive request/response to a remote API that is not secure (http). That's the reason why you should stick to communicating with remote API's via a secured channel (https). But you can resolve the issue by setting the usesCleartextTraffic attribute to "true" inside the application opening tag of your android manifest file.
<application
android:usesCleartextTraffic="true" >
The aforementioned tip solves the problem, but it tends to open a threat to data integrity. Thus you can make it better by setting up, and leveraging on a network security configuration file. This can be done thus;
Step 1: GOTO res->New->android resource directory. Create your xml resource directory
Step 2: Create a new Resource File (with the name: 'network_security_config') inside the newly created xml resource directory by navigating through (xml->New->XML Resource File).
Step 3: Paste the code below into the newly created 'network_security_config.xml' file
<?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>
Step 4: Goto your AndroidManifest.xml file and add the code android:networkSecurityConfig="@xml/network_security_config" inside the application opening tag of your android manifest file.
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config" >
Open cmd and cd to C:\Users\Username_here\AppData\Local\Android\Sdk\emulator
run this command emulator -avd device_name -wipe-data
my device name is Nexus_5X_API_29_x86
so it would be emulator -avd Nexus_5X_API_29_x86 -wipe-data
wait until you see something like this
Go to Tools -> Android -> SDK Manager
and then select the SDK Tools
tab, then ensure that Android Emulator
checkbox is selected.