如何从数据库文件夹中获取sqlite文件以验证Android中的加密?

时间:2017-08-04 17:19:11

标签: android sqlite android-sqlite sqlcipher

我正在使用SQLCipher加密我的数据库,我想获取 .sqlite 文件在数据库客户端中打开它,并验证数据是否已加密。

问题是我无法在/data/data/<app.name>/databases内获取该文件。我正在使用Android模拟器。

我一直试图拉文件: adb pull /data/data/<app.name>/databases/databaseName.sqlite 但我得到: adb:错误:远程对象'/data/data/<app.name>/databases/databaseName.sqlite'不存在

所以我应该使用adb shell进入模拟器,并列出文件夹和文件以验证数据库名称,但我得到权限被拒绝。我搜索了如何解决此问题并找到了adb root,但我得到了: adbd无法在生产版本中以root身份运行

我一直在寻找这个,但我没有得到有用的东西。

首先,我想获得 .sqlite 文件,其次我想知道为什么我得到了: adbd无法在生产版本中以root身份运行< /强>

P.S。我附上了我从控制台获得的图像。 adb root command

1 个答案:

答案 0 :(得分:0)

要获取数据库的路径,只需使用context.getDatabasePath(<databaseName>)。 如果您无法使用adb使用路径提取数据库,请尝试使用不需要root的adb backup命令备份应用程序。