Fixed
Status Update
Comments
da...@google.com <da...@google.com>
da...@google.com <da...@google.com>
ap...@google.com <ap...@google.com> #2
having the same issue
Room version > 2.7.0-alpha08
agp = "8.2.2"
kotlin = "2.0.20"
ksp-plugin = "2.0.20-1.0.24"
also Reverting to Room version 2.7.0-alpha07 solves the issue.
Room version > 2.7.0-alpha08
agp = "8.2.2"
kotlin = "2.0.20"
ksp-plugin = "2.0.20-1.0.24"
also Reverting to Room version 2.7.0-alpha07 solves the issue.
Description
Component used: room
Version used: 2.7.0-alpha11
Devices/Android versions reproduced on: Android 11
I was porting our code over to the new AndroidSQLiteDriver. We previously pass in a database name of "data.db", like so:
Room.databaseBuilder(context, AppDatabase::class.java, "data.db")
With the new AndroidSQLiteDriver, it appears it requires an absolute path for the file. It doesn't give a clear error message about this however - it just says something about a read-only filesystem, (presumably it's resolving the filename against a read-only folder, instead of my app's database folder). Can you handle this case to give a clearer error message?
I was able to fix by using an absolute path like below, but it wasn't very easy to work out the problem.
Room.databaseBuilder(context, AppDatabase::class.java, context.getDatabasePath("data.db").absolutePath)