我使用adb和以下命令连接到我的活动设备:

C:\>adb -s HT829GZ52000 shell
$ ls
ls
sqlite_stmt_journals
cache
sdcard
etc
system
sys
sbin
proc
logo.rle
init.trout.rc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev
$ cd data
cd data
$ ls
ls
opendir failed, Permission denied

我惊讶地发现,我的访问被拒绝了。为什么我不能像这样使用命令行浏览目录呢?

我如何获得我手机的根权限?


当前回答

你的电话应该是固定的。这是重要的一步! 转到adb文件位置,并以该位置的管理员身份启动命令提示符 执行以下命令:

adb shell
run-as com.domain.yourapp 

这将要求root访问你的手机,允许它。

您将能够使用根访问权限浏览文件。 谢谢!

其他回答

$ adb shell

$ CD /data

$ ls

opendir失败,权限被拒绝


你应该这样做:

$ adb shell

$ cd /data

shell@android:/data $ run-as com.your.package 

shell@android:/data/data/com.your.package $ ls

OK!

如果你想浏览设备上的所有内容,有两件事需要记住。

你需要有一个具有root权限的手机,以便浏览Android手机上的数据文件夹。这意味着你要么有一个开发设备(ADP1或谷歌I/O的ION),要么你已经找到了一种方法来“根”你的手机。 你需要在根模式下运行ADB,执行:ADB root

产品版本不能进入/data/app

drwxrwx--- system   cache             1970-01-01 08:00 cache
drwxrwxr-x root     system            1970-01-01 08:00 mnt 
drwxrwx--x system   system            1970-01-01 08:15 data

可能需要更换正确的所有者来操作它。

如果你的Android设备是根设备,这是有效的(不确定是否适用于非根设备)。

Adb shell -访问shell Su -成为超级用户。

您现在可以读取所有目录中的所有文件。

当我试图在一个扎根的三星Galaxy s上操作时,我遇到了类似的问题

> adb root

失败,提示“无法在生产版本中以根用户身份运行”。这里有一个简单的方法,允许成为根。

与之前的命令不同,可以依次发出以下两个命令

> adb shell
$ su

执行第一个命令后,如果提示符由'>'变为如上所示的'$',则表示已进入adb shell环境。如果随后在发出第二个命令后提示符更改为“#”,这意味着您现在是root用户。现在,作为根用户,你可以对你的设备做任何你想做的事情。

要切换回“安全”外壳,发出

# exit

您将看到提示符“$”重新出现,这意味着您是作为用户而不是根用户在adb shell中。