Thank for answering @developernotes ,
I am yet to change the references but want to make an advance question just in case this is relevant somehow. I’ve been working on creating a database backup that involves closing the static instance of room database, copying it to a different location, and reopening the database by nullifying that prior instance, and then creating a new static reference using Room and probably made it work this time.
However, I came across this exception:
E/ROOM: Invalidation tracker is initialized twice :/.
E/AndroidRuntime: FATAL EXCEPTION: arch_disk_io_1
Process: net.mysample.sampledatabase, PID: 7150
net.sqlcipher.database.SQLiteException: no such table: room_table_modification_log: , while compiling: SELECT * FROM room_table_modification_log WHERE invalidated = 1;
at net.sqlcipher.database.SQLiteCompiledSql.native_compile(Native Method)
at net.sqlcipher.database.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:89)
at net.sqlcipher.database.SQLiteCompiledSql.(SQLiteCompiledSql.java:62)
at net.sqlcipher.database.SQLiteProgram.(SQLiteProgram.java:91)
at net.sqlcipher.database.SQLiteQuery.(SQLiteQuery.java:55)
at net.sqlcipher.database.SQLiteDatabase.query(SQLiteDatabase.java:2958)
at net.sqlcipher.database.SQLiteDatabase.query(SQLiteDatabase.java:2948)
at androidx.room.RoomDatabase.query(RoomDatabase.java:328)
at androidx.room.RoomDatabase.query(RoomDatabase.java:311)
at androidx.room.InvalidationTracker$1.checkUpdatedTable(InvalidationTracker.java:414)
at androidx.room.InvalidationTracker$1.run(InvalidationTracker.java:388)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Is that exception somehow addressed by the updates:
The following summarizes the most substantial changes to SQLCipher core:
- Improved error handling to resolve potential corruption if an encryption operation failed while operating in WAL mode
- Changes to OpenSSL library cryptographic provider to reduce initialization complexity
Or is this exception still inherent to the one Google has prepared as seen [here]( android - Room Invalidation tracker is initialized twice - Stack Overflow where the issue is still coming up on Room 2.2.5?