原文

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 

更多相关文章

  1. Android(安卓)O1 VTS测试方法
  2. java.lang.RuntimeException: Unable to start activity Compone
  3. 安装时提示:INSTALL_FAILED_INSUFFICIENT_STORAGE
  4. 解决 app:transformClassesWithDexForDebug 错误
  5. assets点9图加载成NinePatchDrawable
  6. andriod之ContentProvider读取外部存储图片
  7. Android用Proguard混淆代码遇到的问题
  8. Android(安卓)监听开机完成广播,完成监听SIM卡功能
  9. Android(安卓)定时到服务器取数据并刷新

随机推荐

  1. Android客户端连接tomcat时出错:connect f
  2. 高通平台环境搭建,编译,系统引导流程分析
  3. Android(安卓)数据操作(一) 自定义Attribut
  4. android颜色设使用方法
  5. Android中的MessageQueue,Handler,Looper
  6. 简单的中间文字两边按钮
  7. Android 使用com.j256.ormlite
  8. android手势创建及识别
  9. 理解 ViewStub 原理
  10. android repo/git server 建立过程(2)