Link failure on certain Android devices


We are getting some link failures on loading the sqcipher library on certain Android devices.

Fatal Exception: java.lang.UnsatisfiedLinkError
dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in “/data/app/com.hp.pregnancy.lite-T4vhugp-5yTTpV9SuAiY5g==/lib/arm/” (new hash type from the future?)

The Android versions are 8.10 and 9 and the devices are Moto G (5h Gen), Moto G(5S) and Samsung Galaxy J3(2017)

We are using the community edition with the following in build.gradle

implementation ‘net.zetetic:android-database-sqlcipher:4.4.0@aar’
implementation “androidx.sqlite:sqlite:2.0.1”

Imports are:

import net.sqlcipher.database.SQLiteDatabase;
import net.sqlcipher.database.SQLiteStatement

And I am loading the library with SQLiteDatabase.loadLibs(context)

Is there something Im missing?

Thank you.

Hello @Martin13,

Thanks for reaching out, I’m sorry to hear you are experiencing an issue with the latest release of the library. We are currently tracking this issue. Do you have possession any of the devices that are reporting the crashing behavior to test? It sounds as if your organization relies of SQLCipher for Android as a security component. We make prerelease builds available to customers who license the software directly, if this is something you are interested please feel free to reach out at Thanks!

Thank you for getting back to me :smiley:

We have two different problems at the moment, one is the error above and one is a crash deep inside the library. Both of these are reported via Firebase Crashlytics from some of our users. We have a device that reproduces the second native crash but not the error above. This crash mostly affects Android 5 LG devices but also has some crashes on Android 9 and 10. Unfortunately I don’t have symbols for the native library so cannot tell where the crash is. Is there a way to get the unstripped version of the library, Firebase can then match up the symbols. I was intending to try to build the library from source and run it on the crashing device before reporting the second error.

Hi @Martin13

We have instructions for building SQLCipher for Android here. We look forward to hearing any additional information you are able to identify. Thanks!