【问题标题】:Why dont I have permissions on my SD card using adb shell?为什么我没有使用 adb shell 对我的 SD 卡的权限?
【发布时间】:2014-11-05 07:21:00
【问题描述】:

我试图在没有 root 的情况下访问应用程序的数据数据文件夹。我关注了How to access data/data folder in Android device? 并且能够访问该文件夹。

现在我试图将所需文件从 data/data 复制到我的 SD 卡中的文件夹中,但是我得到了拒绝的权限。在我上面引用的线程中,没有人抱怨这种行为,所以我想它也不应该发生在我的最后。

这正是我正在做的事情

C:\AndroidSdk\platform-tools>adb shell
shell@D6503:/ $ run-as com.xxx.xxx
run-as com.xxx.xxx
shell@D6503:/data/data/com.xxx.xxx $ cp databases/xxx.db /storage/sdcard1/Pictures/ 
cp: /storage/sdcard1/Pictures/xxx.db: Permission denied

我已验证文件夹 /storage/sdcard1/Pictures 可通过 shell 访问。

【问题讨论】:

    标签: android


    【解决方案1】:

    也发生在我身上。这是我在我的 Nexus 5 (Android 5.0) 中访问我的应用程序的数据文件夹的内容时所做的,没有 root 访问权限或 chmoding 任何文件:

    1. 打开你的 ADB 所在的控制台并执行:

      adb backup -noapk com.your.packagename

      系统会要求您接受设备上的备份。接受它,不要使用任何密码。备份过程完成后,您的 ADB 文件夹中将拥有一个扩展名为 .ab 的文件。

    2. 备份会被特殊压缩,你可以用这个工具解压:Android Backup Extractor

      要使用它,请将其解压缩并将备份文件 (*.ab) 放在提取器 (abe.jar) 所在的同一文件夹中。然后在那里打开一个控制台并执行以下命令:

      java -jar abe.jar unpack NAME_OF_BACKUP.ab NAME_OF_BACKUP.tar

      请注意,此操作的结果将是一个 *.tar 文件,可以使用 WinRAR 或许多其他压缩工具打开或解压缩。

    3. SQLite 数据库可选:如果你想查看数据库的内容,你可以使用这个 Firefox 插件:Firefox SQLite Manager

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-05
      • 2022-06-10
      • 2016-05-01
      • 1970-01-01
      • 2018-06-06
      • 2020-01-03
      • 1970-01-01
      相关资源
      最近更新 更多