我在我的应用中使用SQLiteAssetHelper时,在一些设备上遇到了崩溃问题,尤其是在OnePlus设备上。现在我在这里读到了数据库存储目录的相关信息。
现在我正在尝试找到一个解决方法,目前我能想到的最好的方法是像这样构造:
public MySubclass(Context context) {
super(context, databaseName, context.getFilesDir() + "/databases", null, databaseVersion);
我需要确认这种做法是否正确,或者说该方法是否存在其他问题?
编辑
异常情况是
Fatal Exception: android.database.sqlite.SQLiteException: Can't upgrade read-only database from version x to y: /data/data/my.package.id/databases/database.db
抱歉,我链接了错误的SO问题:this is the correct one。在那里它说:“OnePlus能够将数据库复制到/data/data/package-name/databases/filename.db,但不允许访问该数据,我对此一无所知。”