Skip to content
Werner Kunze edited this page Apr 10, 2022 · 3 revisions

Stand With Ukraine

FAQs

What is the difference between ReLinker and SoLoader?

They originated as two different libraries that approached the same problem in different ways. Relinker was the first to properly handle transitive dependencies by parsing elf files, but I believe SoLoader has grown that capability by now.

Basically the difference is down to the internal approach. SoLoader attempts to hook in to the native machinery underpinning System.loadLibrary, while ReLinker does its fixes at a higher level, without reflecting in to the runtime. Each approach has its merits, but ReLinker ends up being a lighter dependency, if only by a bit. Certainly it's easier to build, hack on, and debug relinker, due to SoLoader using Buck for its build system - though since you're asking which library to use, that's probably not so relevant to you :)

As far as I'm aware, both libraries do the job just fine.

Note: I don't know SoLoader very well. If I've misrepresented it, or left out something important, I'd love to be corrected!

Source: https://github.com/KeepSafe/ReLinker/issues/76

Clone this wiki locally