7

即使更改了权限,我也无法从设备中提取数据库。我有一部已root的手机。它曾经工作过。我以前可以拉。由于某种未知的原因,我现在不能。

我收到的错误是 remote object '/data/data/com.thuptencho.transitbus/databases/ttc.db' does not exist

有谁知道为什么会这样?以下是我在命令窗口中所做的。

C:\users\thupten>adb shell
shell@android:/ $ su
su
root@android:/ # cd /data/data/com.thuptencho.transitbus/databases/
cd /data/data/com.thuptencho.transitbus/databases/
root@android:/data/data/com.thuptencho.transitbus/databases # ls
ls
ttc.db
ttc.db-journal
webview.db
webview.db-journal
webviewCookiesChromium.db
webviewCookiesChromiumPrivate.db
root@android:/data/data/com.thuptencho.transitbus/databases # chmod 755 ttc.db
5 ttc.db                                                                      <
root@android:/data/data/com.thuptencho.transitbus/databases # chmod 777 ttc.db
7 ttc.db                                                                      <
root@android:/data/data/com.thuptencho.transitbus/databases # exit
exit
shell@android:/ $ exit
exit

C:\users\thupten>adb pull /data/data/com.thuptencho.transitbus/databases/ttc.db
remote object '/data/data/com.thuptencho.transitbus/databases/ttc.db' does not exist
4

5 回答 5

8

我使用这些命令从 /data/data 文件夹中获取数据,无需更改权限

adb kill-server
adb root
于 2015-12-26T00:25:53.830 回答
4

我想到了。我还必须对数据库文件夹进行 chmod,然后再对文件进行 chmod。

于 2013-07-25T01:58:24.677 回答
2

问题是您不仅需要对文件的权限,还需要对其父目录的权限。

(虽然该权限不应该是 777!)

与其尝试更改权限,不如让 adb 在受支持的情况下以 root 身份运行(即,如果您有工程构建,而不是安全设备的售后“root”)或使用您的 root 访问权限(或应用程序本身,或 stock run-as 命令,如果您有调试 apk)将感兴趣的文件复制到可访问的位置,然后 adb 拉取副本。

于 2013-07-25T01:58:37.630 回答
0

我首选的解决方案是:

安装 Chainfire 的 adbd insecure 应用在 adbd insecure 应用中,选择“Enable Insecure adbd” adb pull /data/data/com.package.name/databases/database.db

注意 - adb 不安全意味着 adb 在您的设备上以 root 身份运行。

于 2016-04-12T05:26:33.670 回答
0
for i in `adb shell ls /data/ -1`;do adb pull /data/$i data; done
于 2016-07-30T00:58:33.040 回答