为了账号安全,请及时绑定邮箱和手机立即绑定

为什么使用adb时拒绝访问数据文件夹?

为什么使用adb时拒绝访问数据文件夹?

饮歌长啸 2019-12-07 16:41:44
我使用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用户访问权限)。


查看完整回答
反对 回复 2019-12-07
  • 3 回答
  • 0 关注
  • 1318 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号