Android设备管理器:"传输错误:权限被拒绝"

rd2*_*d22 6 android

我试图拉我的应用程序数据库文件,我可以看到我拥有数据库文件"-rwxrwxrwx"中的所有权限,我是由chmod -r 777 /data/data/com.example.myapp提供的,但我是不能,当我试图拉它时,我不断得到上述错误,而且设备管理器不断崩溃.

我得到的错误:

[2015-07-19 19:48:44 - ddms]转移错误:权限被拒绝

[2015-07-19 19:48:44]选择失败:权限被拒绝

我正在使用Android Studio,我的设备具有root访问权限,而且我在Mac上.

这就是我想要提取的内容:

在此输入图像描述

编辑:当我运行以下命令时,我收到此错误Package 'com.example.hackbot' has corrupt installation:

run-as com.example.hackbot chmod /data/data/com.example.hackbot/databases/HackBotDB
Run Code Online (Sandbox Code Playgroud)

任何帮助都很有价值.

干杯

kan*_*idj 9

这很容易做到:

  1. 插入您的设备,并adb shell从命令行或终端运行
  2. 一旦进入shell run-as com.myapplication.packagname
  3. 然后进入数据库文件夹 cd databases
  4. 然后跑 cat my_datbase_name.db > /sdcard/my_database_name_temp.db
  5. 运行exit然后exit再次返回正常的终端提示符
  6. adb pull /sdcard/my_database_name_temb.db,应该是它

您可以下载sqlitebrowser来查看此数据


Mim*_*oli 4

adb shell linux 用户和您的应用程序 linux 用户是不同的。因此,出于安全原因,您无法从 adb 获取私有应用程序数据,但您可以像以前一样制作副本。我同意,它很乱而且不干净,但它就是这样设计的。所以我的建议是将Stetho添加到您的应用程序中。您可以从 Chrome 监控您的数据库,以及获取其他调试信息。