我正在使用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
答案 0 :(得分:0)
要获取数据库的路径,只需使用context.getDatabasePath(<databaseName>)
。
如果您无法使用adb使用路径提取数据库,请尝试使用不需要root的adb backup
命令备份应用程序。