为什么我没有使用adb shell对我的SD卡拥有权限?

时间:2014-11-05 07:21:01

标签: android

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

现在我试图将所需的文件从数据/数据复制到我的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

我已经确认可以通过shell访问文件夹/ storage / sdcard1 / Pictures。

1 个答案:

答案 0 :(得分:0)

也发生在我身上。这就是我在 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