2015-02-04 5 views
20

Sto riscontrando un problema con adb sulla mia macchina, viene eseguito su OSX Yosemite. Stavo provando a adb install un apk di 44mb e ci sono voluti 5 minuti per l'apk da installare. Provo a restringere il problema e sembra che lo adb push abbia qualcosa a che fare con questo.Adb trasferisce il file a una velocità molto bassa

Ho provato con adb push -p src dest per vedere l'avanzamento del trasferimento. Il trasferimento funziona bene per file di piccole dimensioni, con una velocità di trasferimento di circa 1300KB/s. Rallenta molto durante il trasferimento di file di grandi dimensioni, con una velocità di trasferimento di circa 120 KB/s. Il trasferimento rallenta sempre al byte 8388608/totale.

Ho provato adb push con lo stesso dispositivo e lo stesso cavo USB sul Mac del mio collega usando OSX Yosemite e funziona perfettamente. Non so quale sia la causa del problema, qualcuno potrebbe aiutarmi?

+2

ha trovato una soluzione a questo? Ho lo stesso identico problema – dwitz

+0

non ancora sfortunatamente – esam091

+0

qui. Nel mio caso, è andato veloce, quindi in fase di stallo. Ho annullato il trasferimento e l'ho riavviato e ho dichiarato a bassa velocità fin dall'inizio. – netskink

risposta

11

Secondo Performance Tuning the Network Stack on Mac OS X Part 2,
modificare il file /etc/sysctl.conf come segue e riavviare la macchina.

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 

Mi trovavo di fronte allo stesso problema e l'ho risolto con le impostazioni precedenti.

+1

Grazie, l'invio di un file da 40 MB ora richiede solo 30 secondi anziché 5 minuti. – esam091

+0

peccato che questo non faccia nulla su 10.12 – oarfish

0

Prova a utilizzare il Wi-Fi. Forse il tuo cavo USB è lento o il tuo telefono non supporta l'invio rapido. Guarda: How can I connect to Android with ADB over TCP?. Ho avuto 30-35 mbps, quando ho inviato 2 GB di GTA Sa.

Se non si dispone di Wi-Fi, è possibile utilizzare Tethring in Android o nel computer.

+0

Non penso che il cavo sia il problema, perché gli stessi cavi sono stati testati su un altro computer e funzionano bene. Ho provato l'installazione via Wi-Fi ma è terribilmente lenta l'ultima volta che ho provato, forse cercherò di utilizzare una rete Wi-Fi diversa a volte. – esam091

3

Ero alle prese con questo, poi ho visto un suggerimento per avviare un server web sul computer host e lasciare che il tuo dispositivo/emulatore Android scarichi l'apk.

cd build/outputs/apk/ 
python -m SimpleHTTPServer 8000 

Poi, nel dispositivo Android ho solo aprire un browser per http://<host_ip>:8000/ - si scarica in pochi secondi.

Problemi correlati