Getting error On Google play console

Hi Team ,

I am getting this error on Google play console.

“net.zetetic:android-database-sqlcipher has reported android-database-sqlcipher:3.5.9 as outdated. You may not be able to release future versions of your app with this SDK version to production or open testing”

Can you please help me in resolving this issue.

Regards,
M Asif

Hi @asif

Thanks for your interest in SQLCipher and for posting to the discussion forum. We’d recommend updating to the latest version of SQLCipher. The original android-database-sqlcipher package has been superseded by the sqlcipher-android package. There are instructions for migrating to the new package here: SQLCipher for Android Migration - How to Convert Applications from android-database-sqlcipher to sqlcipher-android | Zetetic

Additionally because you’re using a 3.x version of SQLCipher and the newest packages are 4.x, you’ll need to perform a one time database migration as outlined in this post: Upgrading to SQLCipher 4

I am having the same problem.
I went from android-database-sqlcipher 3.x to 4.x using SQLiteDatabaseHook Execute database.rawExecSQL(“PRAGMA cipher_migrate;”); in postKey; This is a successful upgrade.
But I see that the library has been migrated to sqlcipher-android I tried to go directly from android-database-sqlcipher 3.x to sqlcipher-android 4.x, and I found that there is no place to perform the upgrade operation PRAGMA cipher_migrate SQLiteDatabaseHook’s postKey method parameter changed from SQLiteDatabase to SQLiteConnection.
How can I perform this upgrade?

@xuhongchang

There’s information in the readme here: sqlcipher-android/README.md at 10e605a206db0b408e2cae85600f160f4f2d1087 · sqlcipher/sqlcipher-android · GitHub along with mention of it in the migration guide linked in my previous response, specifically this portion of it:

Pre & Post Key Operations
Coordinating operations that occur before and after the keying operation have changed slightly between the two API’s. Both libraries utilize an SQLiteDatabaseHook as a mechanism to inject operations into the pre and post-key operations. The type provided to the function for both preKey and postKey changed. android-database-sqlcipher would provide the instance of the SQLiteDatabase object, whereas sqlcipher-android provides the underlying SQLiteConnection object.

You’ll want to provide a SQLiteDatabaseHook instance when creating your database connection.

It looks like you’ve also been in correspondence with my colleague in this GitHub issue: net.zetetic.database.sqlcipher.SQLiteException: unknown error (code 0): Queries can be performed using SQLiteDatabase query or rawQuery methods only. · Issue #6 · sqlcipher/sqlcipher-android · GitHub

Could you please keep your responses to one source (that GitHub issue) and respond with the results of this suggestion there as well. Thanks!