我使用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

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

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


当前回答

问题可能是我们需要在最新的CMs的开发选项中特别给予adb根访问权限。 这是我所做的。

abc@abc-L655:~$ sudo adb kill-server abc@abc-L655:~$ sudo adb root start-server *守护进程未运行。现在在端口5037 *上启动 *根访问被系统设置禁用-在设置中启用->开发选项

在改变了开发选项之后……

abc@abc-L655:~$ sudo adb kill-server
abc@abc-L655:~$ sudo adb root start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
restarting adbd as root
abc@abc-L655:~$ adb shell
root@android:/ # ls /data/ .... good to go.. 

其他回答

产品版本不能进入/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

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

问题可能是我们需要在最新的CMs的开发选项中特别给予adb根访问权限。 这是我所做的。

abc@abc-L655:~$ sudo adb kill-server abc@abc-L655:~$ sudo adb root start-server *守护进程未运行。现在在端口5037 *上启动 *根访问被系统设置禁用-在设置中启用->开发选项

在改变了开发选项之后……

abc@abc-L655:~$ sudo adb kill-server
abc@abc-L655:~$ sudo adb root start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
restarting adbd as root
abc@abc-L655:~$ adb shell
root@android:/ # ls /data/ .... good to go.. 

$ 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!

没有根设备,您可以通过以下方式访问文件 cmd截图:

根据您的用户使用CMD从platform-tools文件夹启动adb cd C:\Users\ YourUserName \ AppData \本地Android \ \ sdk \平台工具 它可以在另一个文件夹中,这取决于您安装它的位置。 显示工作设备。 亚洲开发银行设备 对于命令的响应操作系统 所附设备清单 0123456789六边形abcdef设备 编写命令 adb -s 0123456789ABCDEF shell“su” 它会打开 root@theDeviceName: / #

4.访问文件,列出所有文件

ls

等等,将目录更改到其他任何位置,如数据文件夹

cd data/data

当您处于该设备的shell目录时。你就跑

su - root

然后,您应该能够访问数据/文件夹。