即使在我的设备上使用chmod 777之后,也无法adb拉数据库

时间:2013-07-24 23:31:01

标签: android 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

5 个答案:

答案 0 :(得分:8)

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

adb kill-server
adb root

答案 1 :(得分:4)

我明白了。 我不得不chmod数据库文件夹,然后是文件。

答案 2 :(得分:2)

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

(那个许可不应该是777!)

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

答案 3 :(得分:0)

我的首选解决方案是:

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

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

答案 4 :(得分:0)

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