有什么改变,如下面的命令不再适用于Android O?
adb -d shell "run-as package.name cat /data/data/package.name/databases/foo.db" > foo.db
运行:
我已经尝试了无数种方法,但即使cat / cp / sdcard也没有做任何事情。我猜一些权限已经改变,我们不能再使用run-as package.name了。
我能够从非root用户的Android O设备获取数据的唯一方法是使用FileProvider并复制到/ sdcard。
有没有人在调试包上使用run-as成功?有人和我一样有问题吗?
我不知道我的具体问题的答案,但想分享我的新发现(可能对某些人来说很明显)。
在测试Android Studio 3.0 Canary 1后,有一个新的设备文件浏览器,可以轻松下载甚至同步最新的数据库!
对于需要从开发中的设备中获取任何类型的文件的人来说,这是一个非常强大的功能。 cat命令从来都不是完美的,并且每隔一段时间总是搞砸数据库。
这个文件资源管理器+ SQLPro for SQLite是任何拥有数据库的Android开发的黄金!
如果某人确实有原因或解决我原来的问题,请将问题保持打开状态。另外,我觉得自己可以接受我自己的答案了。 :)
看起来像run-as会将当前目录设置为/ data / data / packageName。
我认为以下方法可行:
adb -d shell“run-as package.name cat databases / foo.db”> foo.db.