我正在尝试打开一个外部SQLite数据库,我将其从另一个位置复制到应用程序的文件目录,如下所示:
Runtime.getRuntime.exec("su -c cp <path to .db> <dest path>");
但是,尝试使用openDatabase()打开它会返回错误代码14.我确认文件实际上已被复制并且设置了适当的权限。
但如果我使用文件管理器复制文件,则openDatabase()成功。这两个文件都具有相同的文件大小和权限。
我在这做什么?
编辑: 如果我使用文件管理器复制它,那么我从cp获得的假冒腐败文件就会开始工作。
答案 0 :(得分:0)
问题是由SELinux引起的,并通过使用chcon
更改上下文标签来解决。