即使在我的设备上的chmod 777之后,也不能adb拉数据库

即使更改了权限,我也无法从设备中获取数据库。 我有一个根深蒂固的电话。 它曾经工作。 我以前可以拉。 因为一些不为人知的原因,现在我不能。

我收到的错误是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 

Solutions Collecting From Web of "即使在我的设备上的chmod 777之后,也不能adb拉数据库"

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

 adb kill-server adb root 

我想到了。 我不得不chmod数据库文件夹以及文件。

问题是你不仅需要文件的权限,还需要权限到它的父目录。

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

而不是试图改变权限,你可能想要做的是让adb以根用户身份运行(如果你有一个工程构build,而不是一个安全设备的“售后”生根),或者使用你的根访问权限(或者应用程序本身,或者如果你有一个debugging版apk,则运行股票的命令)复制感兴趣的文件到某个可访问的地方,然后adb提取副本。

我的首选解决scheme是:

安装Chainfire的adbd不安全的应用程序在adbd不安全的应用程序中,select“启用不安全的adbd”adb pull /data/data/com.package.name/databases/database.db

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

 for i in `adb shell ls /data/ -1`;do adb pull /data/$i data; done