Android 5.0+ pull push数据库的那些事

因为win10的更新,genymotion罢工了,只好充值了信仰,购买了6儿子,但是发现之前写的获取db脚本都失效了,一系列资料查询研究,有了以下的一些收获,Android5.0+的系统对应用的数据做了保护,不能直接访问,最直接粗暴的方法其实就是先拷贝到 sdcard下,然后pull出去,push相反,这里push是采用同样的方法,pull的话,找到了一个更好的方法,貌似也没有读取权限的限制(手里头没有没有root的手机可以试),

其实不了解 exec-out的功能,在官网上也没有找到比较好的解释,如果有人有相关资料提供下了解下就更好了(^__^) 嘻嘻……

1
pull:
adb exec-out run-as packname cat databases/dbfile > dbfile

push暂时没有别的方法

1
push:
@echo off
echo su > temp.txt
echo mv sdcard/tempfile/dbfile data/data/package/databases/dbfile >> temp.txt
echo exit >> temp.txt
echo exit >> temp.txt
adb shell mkdir sdcard/tempfile/
adb push dbfile sdcard/tempfile/dbfile
adb shell < temp.txt
adb shell rm sdcard/tempfile/
del temp.txt
文章目录