我有代码转储sqlite3
数据库然后将其读入字符串:
String dbPath = "/data/data/com.company.project/databases/project.db";
String outputPath = "/data/data/com.company.project/databaseDump.txt";
Process proc = Runtime.getRuntime().exec("sqlite3 " + dbPath + " '.dump' > " + outputPath);
proc.waitFor();
returnString = FileUtil.getStringFromFile(outputPath);
当我在我的模拟器上运行它时我很好,但是当我在真手机上运行它时它不起作用。我很好奇是否需要在清单中添加其他权限,或者我缺少什么。
美东时间
所以看来我的问题的一部分是PEBKAC ...我通过adb手动运行转储,然后在模拟器中读取文件工作正常。所以转储命令看起来也不像是在模拟器上工作的......我需要为 sqlite3 程序做一个意图吗?如果是这样,我该如何为特定程序执行此操作?