android查看或修改应用sp或者db数据

1,802 阅读1分钟

查看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>/