查看sp或者db数据条件:
手机root或者应用debuggable。
方法一(手机root):
到/data/data/目录下直接pull出来
adb shell
adb pull /data/data/<pkg name>/ ./
方法二(应用debuggable):
adb shell
run-as <pkg name>
文本文件可以直接cat查看,db文件可以通过cat之后再重定向提取出来。
adb shell "run-as <pkg name> sh -c 'cat databases/<db name>" > <重定向路径及文件名>
e.g. adb shell "run-as com.example.myapplication sh -c 'cat databases/student.db'" > ~/student.db
数据库需要把db、db-shm和db-wal一起提取出来。
网上的其他文章可以直接cat到/sdcard 目录,我这边会提示run-as之后就访问/sdcard 目录就会提示Permission denied。不知道是不是Android R的限制,后续再看下。理论上是可以修改
方法三(手机root或应用debuggable):
这是个傻瓜式方法。打开Android studio,顶部导航栏View->Tool Windows->Device FIle Explorer。去/data/data 目录下找到你想要查看的应用包名,将文件通过Save as导出。
修改sp或者db数据条件:
手机root。
方法:
adb root
adb disable-verity
adb reboot
adb root
adb remount
adb pull /data/data/<pkg name>/ ./
//一顿魔改............
adb push ./* /data/data/<pkg name>/