System.loadLibrary(“Unix, Native Code and why bother”)

GDG Berlin (Berlin, Germany) - October 31, 2018

You’ve decided to use a native library bundled in with your application, but everything behind the runtime loading method call remains a mystery.

In this talk we’ll go through what libraries really are, the difference between static and dynamic loading, the Unix linker and how that’s important. The ‘first act’ is platform independent, focusing on Unix’s workings, from syscalls to environment variables – serving both Linux, Mac, iOS and Android fans. Then, we’ll focus a bit on Android – the history of the platform and its relation to native code loading, plus even diving into Android’s source code! Finally, we’ll go through some other practical tips and also learn about ABIs, and the different processor architectures.