1 不通过root获取设备数据库
1 adb shell
2 run-as 包名 进入目录查看 (cd /data……) ls查看
3 cat kxtx.db > /mnt/sdcard/kxtx.db
4 adb pull /mnt/sdcard/kxtx.db 从而复制到电脑端
提示没权限 则adb root一下
adb的全称为Android Debug Bridge,就是起到调试桥的作用 debug工具
adb 查看当前手机进程:
adb shell –>ps (| grep “关键字过滤”)
截图:
确保手机和PC建立adb连接
adb shell
su
cd /storage/emulated/legacy/Download/(在手机上先临时指定一个存放截图文件的目录,以Download目录作为例子)
输入 screencap -p 1.jpg
dos窗口各列参数意义:
USER 进程当前用户;
PID Process ID,进程ID;
PPID Process Parent ID,进程的父进程ID;
VSIZE Virtual Size,进程的虚拟内存大小;
RSS Resident Set Size,实际驻留”在内存中”的内存大小;
WCHAN 休眠进程在内核中的地址;
PC Program Counter;
NAME 进程名;
查看进程的活跃度
通过cat /proc/进程id/oom_adj可以看到当前进程的adj指,比如输入cat /proc/32366/oom_adj
一般应用在前台活跃会返回零 ,在-17到16范围 值越小优先级越高,比如native进程的adj值为-17,对于这个adj值的进程来说,系统根本不会动它一分一毫,实质上当进程的adj值去到2时系统就很少会因为其它原因而去杀死它,这些在研究进程保活中都非常重要。
http://blog.csdn.net/dfskhgalshgkajghljgh/article/details/51373694
一、adb启动activity:
$ adb shell
指定device来执行adb shell
命令:adb -s devicename shell
$ am start -n {包(package)名}/{包名}.{活动(activity)名称}
如:启动浏览器
# am start -n com.android.browser/com.android.browser.BrowserActivity
二、adb启动service:
$ adb shell
$ am startservice -n{包(package)名}/{包名}.{服务(service)名称}
如:启动自己应用中一个service
# am startservice -n com.android.traffic/com.android.traffic.maniservice
三、adb发送broadcast:
$ adb shell
$am broadcast -a <广播动作>
如:发送一个网络变化的广播
# am broadcast -a android.net.conn.CONNECTIVITY_CHANGE
adb devices
列举当前连接的调试设备
adb logcat
打印log信息
1.优先级语法
优先级使用字符标识,一下优先级从低到高
V — 明细 verbose(最低优先级)
D — 调试 debug
I — 信息 info
W — 警告 warn
E — 错误 error
F — 严重错误 fatal
S — 无记载 silent
adb logcat -s PowerManagerService //显示PowerManagerService的日志信息
adb logcat *:W设置过滤级别为W以上
adb logcat > c:\test.log //将日志保存到文件test.log
仅输出标记为“ActivityManager”且优先级大于等于“Info”和标记为“PowerManagerService”并且优先级大于等于“Debug”的日志:adb logcat ActivityManager:I PowerManagerService:D *:S
注:*:S用于设置所有标记的日志优先级为S,这样可以确保仅输出符合条件的日志。
adb logcat | grep MyApp
adb logcat | grep -i myapp #忽略大小写。
adb logcat | grep –color=auto -i myapp #设置匹配字符串颜色。
通过wifi进行远程连接手机进行调试的.
adb connect/disconnect
需先连上usb模式, 开启远程调试模式:
$ adb tcpip 5555
adb usb 切换至usb模式