UI Kit beta 25 - sqlcipher error

Trying to bump the UI kit library from 3.19.0 to 4.0.0-beta25 and getting this error now:

     Fatal Exception: java.lang.UnsatisfiedLinkError: No implementation found for long net.zetetic.database.sqlcipher.SQLiteConnection.nativeOpen(java.lang.String, int, java.lang.String, boolean, boolean) (tried Java_net_zetetic_database_sqlcipher_SQLiteConnection_nativeOpen and Java_net_zetetic_database_sqlcipher_SQLiteConnection_nativeOpen__Ljava_lang_String_2ILjava_lang_String_2ZZ) - is the library loaded, e.g. System.loadLibrary?
       at net.zetetic.database.sqlcipher.SQLiteConnection.nativeOpen(SQLiteConnection.java)
       at net.zetetic.database.sqlcipher.SQLiteConnection.open(SQLiteConnection.java:226)
       at net.zetetic.database.sqlcipher.SQLiteConnection.open(SQLiteConnection.java:202)
       at net.zetetic.database.sqlcipher.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:475)
       at net.zetetic.database.sqlcipher.SQLiteConnectionPool.open(SQLiteConnectionPool.java:189)
       at net.zetetic.database.sqlcipher.SQLiteConnectionPool.open(SQLiteConnectionPool.java:181)
       at net.zetetic.database.sqlcipher.SQLiteDatabase.openInner(SQLiteDatabase.java:1028)
       at net.zetetic.database.sqlcipher.SQLiteDatabase.open(SQLiteDatabase.java:1013)
       at net.zetetic.database.sqlcipher.SQLiteDatabase.openDatabase(SQLiteDatabase.java:840)
       at net.zetetic.database.sqlcipher.SQLiteDatabase.openDatabase(SQLiteDatabase.java:740)
       at com.amity.socialcloud.sdk.infra.db.DBEncryptionUtils.getDatabaseState(DBEncryptionUtils.kt:24)
       at com.ekoapp.ekosdk.internal.data.EkoDatabase.init(EkoDatabase.java:61)
       at com.amity.socialcloud.sdk.core.CoreClient.setup(CoreClient.kt:108)
       at com.amity.socialcloud.sdk.api.core.AmityCoreClient.setup(AmityCoreClient.kt:66)
       at com.amity.socialcloud.sdk.api.core.AmityCoreClient.setup$default(AmityCoreClient.kt:61)

Hello @franco ,

Thank you for providing the detailed error log. To assist you further, our team needs clarification on the following:

  1. Is the sqlcipher library you are using open source? If so, could you please share the repository link?
  2. Are you using the SDK directly from UI Kit or as a separate dependency?

For your reference:

Please note that upgrading from v3 to v4 requires more than just bumping the version number; additional configuration changes are needed as outlined in the documentation above.

  1. I’m using sqlcipher lib as a dependency: net.zetetic:android-database-sqlcipher:4.5.4
    But isn’t Amity using the same lib? Otherwise, why is the Amity Core Client calling a DBEncryptionUtils method that calls the same library methods?

  2. Directly from UI kit, I’m using just this import:

    implementation 'com.github.AmityCo.Amity-Social-Cloud-UIKit-Android:amity-uikit:4.0.0-beta26'
1 Like

Hello @franco , Our team uses the dependency net.zetetic:sqlcipher-android:4.5.6@aar. Could you please try upgrading the SQLCipher dependency in your project to align with this version?

Let us know if the issue persists after the upgrade, and we’ll assist you further.