我使用adb和以下命令连接了我的实时设备:C:\>adb -s HT829GZ52000 shell$ lslssqlite_stmt_journalscachesdcardetcsystemsyssbinproclogo.rleinit.trout.rcinit.rcinit.goldfish.rcinitdefault.propdatarootdev$ cd datacd data$ lslsopendir failed, Permission denied看到访问被拒绝,我感到很惊讶。为什么我不能使用这样的命令行浏览目录?如何在手机上获得root访问权限?
3 回答
FFIVE
TA贡献1797条经验 获得超6个赞
从API级别8(Android 2.2)开始,对于可调试应用程序(除非要求发布版本,否则始终由Android Studio构建),您可以使用shell run-as命令以特定用户/应用程序的身份运行命令或可执行文件或仅切换到应用程序的UID,即可访问其数据目录。
列出yourapp的目录内容:
run-as com.yourapp ls -l /data/data/com.yourapp
切换到com.yourapp的 UID 并使用该uid运行所有其他命令(直到您调用exit):
run-as com.yourapp
cd /data/data/com.yourapp
ls -l
exit
注意1:某些HTC Desire手机存在已知问题。由于/data/data目录的所有者/权限是非标准的,因此run-as命令无法在这些电话上运行。
注意2:如@Avio的评论所指出: run-as在任何版本(从7到10.1)上运行Cyanogenmod的Samsung Galaxy S手机,也存在问题,因为在此平台上/data/data是的符号链接/datadata。解决该问题的一种方法是将符号链接替换为实际目录(不幸的是,这通常需要root用户访问权限)。
- 3 回答
- 0 关注
- 1318 浏览
添加回答
举报
0/150
提交
取消
