Question or issue on macOS:
I’m having a problem with adb on my machine, it runs on OSX Yosemite. I was trying to adb install a 44mb apk and it took 5 minutes for the apk to be installed. I try to narrow the problem, and it seems that the adb push has something to do with this.
I tested with adb push -p src dest to see the transfer progress. The transfer works fine for small files, leaving about 1300KB/s transfer rate. It slows down a lot when transferring large files, about 120KB/s transfer rate. The transfer always slows down at byte 8388608/total.
I’ve tested adb push with the same device and same USB cable at my coworker’s Mac using OSX Yosemite and it works fine. I don’t know what causes the problem, could somebody help me?
How to solve this problem?
Solution no. 1:
According to Performance Tuning the Network Stack on Mac OS X Part 2,
/etc/sysctl.conf file as follows and reboot your machine.
kern.ipc.somaxconn=2048 net.inet.tcp.rfc1323=1 net.inet.tcp.win_scale_factor=4 net.inet.tcp.sendspace=1042560 net.inet.tcp.recvspace=1042560 net.inet.tcp.mssdflt=1448 net.inet.tcp.v6mssdflt=1412 net.inet.tcp.msl=15000 net.inet.tcp.always_keepalive=0 net.inet.tcp.delayed_ack=3 net.inet.tcp.slowstart_flightsize=20 net.inet.tcp.local_slowstart_flightsize=9 net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1 net.inet.icmp.icmplim=50
I was faced with the same problem and solved it by the above settings.
Solution no. 2:
I was struggling with this, then saw a suggestion to just start a webserver on the host machine and let your android device/emulator just download the apk.
cd build/outputs/apk/ python -m SimpleHTTPServer 8000
Then, in the android device I just open a browser to
http://<host_ip>:8000/ – it downloads in seconds.
Solution no. 3:
Try use Wi-Fi. Probably, your USB cable is slow or your phone doesn’t support fast high-speed file transfer. Look: How can I connect to Android with ADB over TCP?. I had 30-35 mbps, when I sent 2 GB of GTA SA.
If you don’t have Wi-Fi, you can use Tethering from Android in computer.