您的位置:首页 > Web前端

adb查看SharedPreferences出现Permission denied不root解决方法

2017-08-05 22:27 1326 查看

前言

SharedPreferences保存的数据,是以xml文件存储于data/data/pakcagename/shared_prefs目录下。可以通过adb shell查看相应的xml文件,直观的看到SharedPreferences保存的内容。有些手机不能直接查看data目录下的内容(Permission denied),可以使用run-as来查看。

步骤

adb shell 模式



进入data/data/packagename/shared_prefs目录



查看相应xml文件,如果成功了就会看到相应的xml文件直接cat之就ok了,不成功如下会提示Permission denied 如下图所示。



run-as就派上用处了,用法run-as packagename。run-as的uid是root可以执行setuid让进程以指定应用uid运行,从而可以查看该应用的数据。



可以看到执行完run-as命令之后直接进入了data/data/packagename目录下

进入shared_prefs查看相应的xml文件



run-as命令执行的实现可能失败,报run-as: Package ‘packagename’ is not debuggable错误。是因为android:debuggable为true,只需要在AndroidManifest中设置为false即可(其实在打debug包的时候会自动设置为true,打release包的时候自动设置为false。所以不推荐直接在AndroidManifest设置,以防忘记设置回false,造成数据泄露)



结论

不root读取应用数据,run-as谁用谁知道
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android run-as
相关文章推荐