在不root手机的情况下读取Data目录下的文件

  1. 127|shell@android:/ $ cd /data  
  2. cd /data  
  3. shell@android:/data $ ls  
  4. ls  
  5. opendir failed, Permission denied  

你是没有权限的。

正确使用adb读取data目录下的文件方式

[plain] view plain copy

  1. shell@android:/data $ run-as com.your.package  
  2. run-as com.your.package  
  3. shell@android:/data/data/com.your.package $ cd /data/data/com.your.package  
  4. cd /data/data/com.your.package  
  5. shell@android:/data/data/com.your.package $ ls  
  6. ls  
  7. cache  
  8. databases  
  9. lib  
  10. shared_prefs  
  11. shell@android:/data/data/com.your.package $ cd databases  
  12. cd databases  
  13. shell@android:/data/data/com.your.package/databases $ ls  
  14. yourpackagename.db  
  15. $ cat preferences.db > /mnt/sdcard/yourpackagename.db     

将你要访问的package目录下的db文件拷贝到sdcard中,这样就可以正常访问了!

参考资料

Read Android Data Folder Without Rooting

 

对文件进行增删

法1:

 
  1. adb shell "run-as package.name chmod 666 /data/data/package.name/databases/file"

  2. adb pull /data/data/package.name/databases/file .

  3. adb shell "run-as package.name chmod 600 /data/data/package.name/databases/file"

 

UPDATE

the command for Android 5.0+ to save /data/data/package.name/databases/file would be:

adb exec-out run-as package.name cat databases/file > file

 

法2:

 
  1. > adb shell

  2. shell $ run-as com.example.package

  3. shell $ chmod 666 databases/file

  4. shell $ exit ## exit out of 'run-as'

  5. shell $ cp /data/data/package.name/databases/file /sdcard/

  6. shell $ run-as com.example.package

  7. shell $ chmod 600 databases/file

  8. > adb pull /sdcard/file .

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值