To sync a PC with a smartphone (or any other android device, like an android e-reader or tablet) you can use abd, and abd-sync. This latter has the advantage that it can, unlike adb push --sync, delete files no more existing in source or create new folders.

Indeed adb push –sync can only update files and folder already existing.

a problem: the external card

You can sync not only the internal memory of your android device, but an external card as well. The problem might be find the extact name and path of your external card: so you can use adb shell, and then df and ls to see the folders our the whole device (including the external card) with its exact name, that you will be able to use afterward in adb / adb-sync.

But if you adb-sync keeping the external card into your device, because it is more convenient, you will find some problems, such as the symlinks (not considered).

So, you might try with krusader and a sync via mtp, but this is very slow.

adb connect via wi-fi

  • Connect Android phone and host machine to same WiFi network
  • Connect Android phone to host machine using USB cable (to start with)
  • Run adb tcpip 5555 from a command prompt
  • Run adb shell “ip addr show wlan0 | grep -e wlan0$ | cut -d” ” -f 6 | cut -d/ -f 1″ to obtain the phone’s IP address
  • Disconnect USB cable and run adb connect < ip_address > :5555