13

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/? E/netmgr: Failed to open QEMU pipe 'qemud:network': Invalid argument 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 release without a matched acquire! 12-13 19:01:05.601 2522-22605/com.google.android.gms.persistent E/NetworkScheduler: Invalid component specified. 12-13 19:01:16.094 1933-2653/system_process E/memtrack: Couldn't load memtrack module

Khaled
  • 238
  • 1
  • 3
  • 11

5 Answers5

22

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

enter image description here

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).

enter image description here

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" >
Collins USHI
  • 567
  • 7
  • 17
11

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

Emre Alparslan
  • 1,022
  • 1
  • 18
  • 30
  • is there a way to do this via the command line? I am using the emulator from the AOSP build and I do not see this option. – gst Jun 03 '20 at 16:25
  • Worked for me. It did give me an error about the minimum API level, but I ignored it and it works fine. – Chiwda Oct 12 '20 at 05:43
  • @Emre Alparslan: I tried your suggested approach but I still get the same error (see here:https://stackoverflow.com/questions/69953789/network-connection-check-in-android-always-returns-false-altough-network-is-avai?noredirect=1#comment123707133_69953789). Any idea what the problem might be? – VanessaF Nov 16 '21 at 20:08
  • Already set. Makes no difference. – Ken Sharp Nov 22 '21 at 11:25
  • I tried your suggested approach but it did not help. I still get the same error message. – VanessaF Nov 26 '21 at 18:00
1

I re-created an AVD, and Run the program in the new AVD, the problem was solved. I only met it once, it worked for me, I don’t know if it will help you, if it can help you, it would be great

-3

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 enter image description here

  • While these commands may provide a solution to the question, it's better to add context as to why/how it works. This can help future users refer to and eventually apply this knowledge. You are also likely to have positive feedback/upvotes from users, when the code is explained. – Amit Verma Mar 04 '21 at 18:07
-4

Go to Tools -> Android -> SDK Manager and then select the SDK Tools tab, then ensure that Android Emulator checkbox is selected.enter image description here

Bhaskara Arani
  • 1,556
  • 1
  • 26
  • 44