0

I've managed to successfully manage an Sqlite database using SQLcipher in Android emulator, but when using the exact same code in a redmi device it fails in an essential thing for managing the database, it says it does not find implementation for the function that opens the database, that is to say:

public void open() {
    database = dbHelper.getWritableDatabase("pass");
}

I think this cannot be fixed in any way and we have to deal with that Redmi phones cannot use SQLCipher. Although I'd be happy to listen to anything that could help with this.

So in order to decide about to keep on using SQLCipher it would be needed to know how compatible it's among phone models. If it's only incompatible with redmi phones maybe we could stick with it.

user2638180
  • 1,013
  • 16
  • 37
  • 1
    What is the exact error message? Are the sqlcipher armv7 armv8a .so libraries included in the generated APK file (check it out using ZIP manager)? – Robert Jul 05 '21 at 10:18
  • @Robert, exact error is No implementation found for void net.sqlcipher.database.SQLiteDatabase.dbopen(java.lang.String, int) (tried Java_net_sqlcipher_database_SQLiteDatabase_dbopen and Java_net_sqlcipher_database_SQLiteDatabase_dbopen__Ljava_lang_String_2I). I'll check the apk. – user2638180 Jul 05 '21 at 10:23
  • 1
    See also https://stackoverflow.com/q/33201262/150978 – Robert Jul 05 '21 at 10:28
  • Also apparently these libraries aren't being added, the folders to appear are arm64-v8a, armeabi-v7a, x86 and x86_64. – user2638180 Jul 05 '21 at 10:29
  • Tried to compile for these architectures by adding ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64', 'armv7', 'armv8a', in build.gradle, but doesn't help. – user2638180 Jul 05 '21 at 10:42

0 Answers0