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.

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?


There’s information in the readme here: sqlcipher-android/ 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!