Build Rsync for Android Yourself

To build rsync for Android you’ll need to have the Android NDK installed already.

Then clone the rsync for android source (e.g. from CyanogenMod LineageOS) …

… create the missing jni/  build file (e.g. from this Gist) and adapt it to your case

… and start the build with

You’ll find your self-build rsync in obj/local/*/rsync . 😀

Update 2017-10-06:

  • Updated sources from CyanogenMod to LineageOS.
  • Added links to Gist and Andoid NDK docs
  • Updated steps to work with up-to-date setups

If you get something like the following warnings and errors …

… you probably need to update config.h and change /* #undef MAJOR_IN_SYSMACROS */ to #define MAJOR_IN_SYSMACROS 1 .

Why Programming is Difficult

There are three other things that make programming difficult:

  • Fixing things that should not be broken
  • No time for learning things
  • Bad environment for programming

Let’s look at these things – these are all “time thieves”

Joe Armstrong explains what makes programming difficult.