【问题标题】:Android Device manager : "transfer error: Permission denied"Android 设备管理器:“传输错误:权限被拒绝”
【发布时间】:2015-07-19 14:28:20
【问题描述】:

我正在尝试提取我的应用程序数据库文件,我可以看到我拥有数据库文件“-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

任何帮助都是有价值的。

干杯

【问题讨论】:

  • 我找到了一种方法可以做到这一点,但它看起来很丑,而且很耗时,但很有效。我从Play商店下载了ES File Explorer文件管理器(任何可以访问根文件的资源管理器都可以使用),通过应用程序中的db文件进行搜索,复制了该文件并将其移至SD卡,然后我就可以了从设备管理器访问它。然后只需将其移至 SQL Lite 的 DB Browser 即可查看 DB。
  • 我希望也有其他解决方案,一种不那么痛苦的解决方案。如果有请告诉我。这几乎耗尽了我一整天的时间,我仍然没有一个简洁的解决方案。

标签: android


【解决方案1】:

这很容易做到:

  1. 插入您的设备,然后从命令行或终端运行adb shell
  2. 曾经在 shell run-as com.myapplication.packagname
  3. 然后 cd 进入数据库文件夹cd databases
  4. 然后运行cat my_datbase_name.db > /sdcard/my_database_name_temp.db
  5. 运行exit,然后再次运行exit,返回正常的终端提示符
  6. 运行 adb pull /sdcard/my_database_name_temp.db 就可以了

您可以下载sqlitebrowser查看此数据

【讨论】:

  • 哦,是的,这会从命令提示符复制文件。谢谢。
  • @endlessProgrammer 很高兴为您提供帮助
【解决方案2】:

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

【讨论】:

    【解决方案3】:
    1. 使用 android 模拟器运行应用程序,然后转到->工具->android 设备监视器 对话框将打开转到文件资源管理器 - >数据文件夹 (授予数据文件夹权限)
      • 使用开始菜单打开 cmd
      • 转到 sdk 文件夹(例如,C:\Users\android-sdks\platform-tools>)
      • 输入 adb shell
      • chmod 777 /数据
      • chmod 777 /data/data/in.co.gesardisplays.www.rwfiles/files/gesar.txt 更改将在 adb monitor 中受到影响
    2. 将文件拉到文件夹
      • 从外壳退出
      • 按照上一步 1.2
      • 输入 adb 根目录
      • adb 拉 /data/data/in.co.gesardisplays.www.rwfiles/files/ 选择你的文件点击拉取文件图标,它将位于文件资源管理器的右上角

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-19
      • 2016-09-15
      • 2015-04-09
      • 2014-05-13
      • 2018-07-19
      • 1970-01-01
      • 2017-12-25
      • 1970-01-01
      相关资源
      最近更新 更多