最近碰到一个问题,需要在Android盒子上抓取一份日志,位于data/data/packageName下,开始敲命令:1
2
3
4
5
6
7
8chenkaijian@chenkaijian-ubuntu ~ $ adb connect 10.200.52.122
connected to 10.200.52.122:5555
chenkaijian@chenkaijian-ubuntu ~ $ adb shell
shell@p200:/ $ cd data
shell@p200:/data $ cd data
shell@p200:/data/data $ ls
opendir failed, Permission denied
255|shell@p200:/data/data $
问题来了,我的盒子没有root,所以没有权限访问应用沙盒数据。这可怎么办?幸好Android提供了run-as命令。1
2
3
4
5
6
7
8
9
10
11
12chenkaijian@chenkaijian-ubuntu ~ $ adb shell
shell@p200:/ $ run-as com.pptv.tvsports
shell@p200:/data/data/com.pptv.tvsports $ ls
app_libs
app_webview
asserts
cache
databases
files
lib
shared_prefs
shell@p200:/data/data/com.pptv.tvsports $
接下来就可以用直接在命令行查看对应的文件了,需要注意的是,此方法只适用于Debug应用。1
shell@p200:/data/data/com.pptv.tvsports/cache $ vi PeerLog