Android One Plus Two:无法更改db的语言环境

Ram*_*j T 11 sqlite android oneplustwo

我在我的一个Android项目中使用Sqlite数据库.除One Plus Two设备外,它在所有设备中都能正常工作.

我在尝试打开数据库时遇到异常.这是崩溃日志.

 12-23 19:14:35.235: E/SQLiteLog(3133): (11) database corruption at line 53216 of [9491ba7d73]
12-23 19:14:35.235: E/SQLiteLog(3133): (11) statement aborts at 7: [SELECT locale FROM android_metadata UNION SELECT NULL ORDER BY locale DESC LIMIT 1] 
12-23 19:14:35.237: E/SQLiteDatabase(3133): Failed to open database '/data/data/com.mycompany.myapp/databases/alcochange.sqlite'.
12-23 19:14:35.237: E/SQLiteDatabase(3133): android.database.sqlite.SQLiteException: Failed to change locale for db '/data/data/com.mycompany.myapp/databases/myapp.sqlite' to 'en_US'.
Run Code Online (Sandbox Code Playgroud)

单击此处查看完整的崩溃日志

我在这里看过其他类似的问题,我几乎尝试了所有答案,但没有任何效果.我试过这个这个.

编辑:该设备在氧气棒棒糖上运行.

Ram*_*j T 2

我找不到出现此错误的原因,但不知何故,我通过执行以下操作避免了此错误。

以前,我在捆绑包中有一个 .sqlite 数据库,当用户第一次打开我们的应用程序时,我将 .sqlite 数据库从捆绑包复制到正确的路径。

但现在,我已从 .sqlite 导出原始查询,并将其作为 txt 文件与捆绑包一起添加。现在,当用户第一次打开应用程序时,我将首先在路径中创建一个空的 .sqlite 文件,然后从捆绑包中的 txt 文件中读取所有 .sql 查询,并通过中的 .sqlite 文件执行它们。小路。