SQLite open database返回错误代码14,但仅在通过cp命令创建db文件时

时间:2017-11-08 15:53:37

标签: android android-sqlite

我正在尝试打开一个外部SQLite数据库,我将其从另一个位置复制到应用程序的文件目录,如下所示:

Runtime.getRuntime.exec("su -c cp <path to .db> <dest path>");

但是,尝试使用openDatabase()打开它会返回错误代码14.我确认文件实际上已被复制并且设置了适当的权限。

但如果我使用文件管理器复制文件,则openDatabase()成功。这两个文件都具有相同的文件大小和权限。

我在这做什么?

编辑: 如果我使用文件管理器复制它,那么我从cp获得的假冒腐败文件就会开始工作。

1 个答案:

答案 0 :(得分:0)

问题是由SELinux引起的,并通过使用chcon更改上下文标签来解决。