Why can I not pipe into adb shell
?
[klm@kth ~]$ echo foo | adb shell cat
^C
The above command hangs on my 4.0.1 emulator, and I\'m
An alternate option may be to use adb port forwarding and netcat.
Set Android side to recieve:
busybox nc -lp 5555 > piped_file.txt
PC side, set forwarding and send:
adb forward tcp:4444 tcp:5555 # Anything sent to localhost 4444 will be forwarded to Android 5555
cat piped_file.txt | busybox nc localhost 4444 # Pipe through the port to Android
The PC netcat connects to the Android netcat through the forwarded port, and the piped_file.txt
is delivered.
Additional Info
Combined with tar, you can copy entire directory structures onto your device.
busybox nc -lp 5555 | tar -x # Android side
adb forward tcp:4444 tcp:5555 # PC side
tar -c directory | busybox nc localhost 4444