Document the historical dlopen issues.

Bug: https://groups.google.com/forum/#!topic/android-ndk/OJxg_550eHE
Test: N/A
Change-Id: Ife066dcd3af89952f81f0aefc33351c59b83be9b
This commit is contained in:
Elliott Hughes 2018-05-01 11:27:46 -07:00
parent 67b5979930
commit dc66073417
1 changed files with 15 additions and 0 deletions

View File

@ -30,6 +30,21 @@ as toasts. Experience has shown that many developers dont habitually
check logcat for warnings until their app stops functioning, so the
toasts help bring some visibility to the issues before it's too late.
## Changes to library dependency resolution
Until it was [fixed](https://issuetracker.google.com/36950617) in
JB-MR2, Android didn't include the application library directory
on the dynamic linker's search path. This meant that apps
had to call `dlopen` or `System.loadLibrary` on all transitive
dependencies before loading their main library. Worse, until it was
[fixed](https://issuetracker.google.com/36935779) in JB-MR2, the
dynamic linker's caching code cached failures too, so it was necessary
to topologically sort your libraries and load them in reverse order.
If you need to support Android devices running OS
versions older than JB-MR2, you might want to consider
[ReLinker](https://github.com/KeepSafe/ReLinker) which claims to solve
these problems automatically.
## Changes to library search order