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开发使用adb时出现adb server is out of date的解决方法
- Androi开发使用adb时出现adb server is out of date的解决方法
- Hbase无法启动及web查看出现500错误的原因及解决方法
- 汉化后eclipse查看类源码出现failed to create the part's controls的解决方法
- linux升级内核,出现:mount:could not find filesystem‘/dev/root’的解决方法
- adb 无线调试出现offline解决方法之一
- Android编程中出现The connection to adb is down问题的解决方法
- Apache 在更改DocumentRoot,或新增虚拟目录之后出现403错误的解决方法汇总详解(Linux)
- 关于远程访问mysql出现Access denied for user 'root'@'的解决方法
- ADB出现devices offline的解决方法
- android 出现adb端口占用的解决方法
- sudo出现sudo:must be setuid root问题的解决方法
- Ubuntu运行Chrome出现“Google Chrome can not be run as root”的解决方法
- Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
- eclipse 查看原始类出现The jar file rt.jar has no source attachment解决方法
- adb连接Android 4.2.2版本手机时出现offline或unauthorized问题的解决方法
- Android 使用adb shell命令时出现sqlite3 : not found 问题 解决方法
- ubuntu14.04 root登陆与自动登陆配置方法及出现问题解决
- 解决eclipse查看源代码出现The jar file rt.jar has no source attachment问题的方法
- Ubuntu14.04开机出现“error found when loading /root/.profile”的解决方法