adb查看数据库

原文

before we start, do you have a rooted phone? if not, I strongly suggest that it’s time you make the jump. 99% of the tutorials that help you to do this require that you have a rooted phone (I know b/c I spent about an hour searching for a way to do it without having a rooted phone.. couldn’t find any..) also if you think about it, your iPhone also has to be rooted to do this same task. So it’s totally reasonable. More about rooting at end of answer.

from your command line type:

adb shell

this takes you to your android shell comand line (you should see something like this: shell@android:/ $ now type:

shell@android:/ $

run-as com.domain.yourapp

this should take you directly to the data directory of com.domain.yourapp:

shell@android:/data/data/com.domain.yourapp $
if it doesn’t (ie if you get an error) then you probably don’t have a rooted phone, or you haven’t used your root user privileges. To use your root user privileges, type su on the adb command line and see what happens, if you get an error, then you’re phone is not rooted. If it’s not, root it first then continue these instructions.

from there you can type ls and you’ll see all the directories including the dbs:

shell@android:/data/data/com.domain.yourapp $ ls

cache
databases
lib
shared_prefs
after that you can use sqlite3 to browse the dbase.. if you don’t have it installed (you can find it out by typing sqlite3, if you get command not found then you’ll have to install it. To install sqlite, follow instructions here.

about rooting: if you’ve never rooted your phone before, and you’re worried about it screwing your phone, I can tell you with full confidence that there is nothing to worry about. there are tonnes of quick and easy phone rooting tutorials for pretty much all the new and old models out there, and you can root your phone even if you have a mac (I rooted my s3 with my mac).

另一篇不错的文章
在不root手机的情况下读取Data目录下的文件
使用adb命令时的错误
如果直接使用adb命令会产生以下错误:

shell@android:/ $ cd /data  
cd /data  
shell@android:/data $ ls  
ls  
opendir failed, Permission denied 

你是没有权限的。
正确使用adb读取data目录下的文件方式

shell@android:/data $ run-as com.your.package  
run-as com.your.package  
shell@android:/data/data/com.your.package $ cd /data/data/com.your.package  
cd /data/data/com.your.package  
shell@android:/data/data/com.your.package $ ls  
ls  
cache  
databases  
lib  
shared_prefs  
shell@android:/data/data/com.your.package $ cd databases  
cd databases  
shell@android:/data/data/com.your.package/databases $ ls  
yourpackagename.db  
$ cat preferences.db > /mnt/sdcard/yourpackagename.db     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值