ADB常用命令和logcat
2014-11-17 13:37
393 查看
一 adb常用命令
1. 查看设备
adb devices //当前连接的设备, 连接到计算机的android设备或者模拟器将会显示处理
2. 安装软件 卸载软件
adb install xxx.apk //安装软件
adb install -r xxx.apk //重新安装该软件
adb uninstall apk包名.apk //卸载apk软件
3. 登录设备shell
adb shell //进入手机的超级终端Terminal
adb shell <command命令> //直接shell运行设备命令, 相当于执行远程命令
4. 从PC上发送文件到手机
adb push <本地路径> <远程路径>
adb push D:\xxx.apk system/app/
//A[system/app/]为手机路径,B[D:\xxx.apk]为电脑路径,,把文件从电脑复制到手机上
5. 从手机上下载文件到PC
adb pull <远程路径> <本地路径>
adb pull system/app/xxx.apk D:\
//A[system/app/xxx.apk]为手机路径,B[D:\]为电脑路径,,把文件从手机中复制到电脑上
6. 其他
adb remount //重新挂载文件系统
adb reboot //重启手机
adb reboot recovery //重启到Recovery界面
adb reboot bootloader //重启到bootloader界面
二 log使用
android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。
根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。
1、Log.v 的调试为黑色,任何消息都会输出
2、Log.d 的输出为蓝色,仅输出debug调试信息
3、Log.i 的输出为绿色,一般提示性消息information,无v和d的信息,会显示i、w和e的信息
4、Log.w 的意思为橙色,warning信息,需要我们注意优化Android代码,会输出e的信息。
5、Log.e 为红色错误信息,分析查看栈信息。
三 adb logcat过滤
1. 只显示需要的输出,白名单
最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配。简单的匹配一行当中的某个字符串,例如 MyApp:
adb logcat | grep MyApp
adb logcat | grep -i myapp #忽略大小写。
2 保存log
使用-d参数,可以在读完所有log后返回,而不会一直等待,在自动化较有用。例如:
adb logcat -d -s xxx > xxx.log //得到filter为xxx的日志,存入xxx.log,然后返回。
3 其他
adb logcat -s TAG名称 //显示某一TAG的日志信息:
adb logcat -v time -s videocamera //打印出 log 信息中时间,以及包含关键字 "videocamera" 的所有 log
四 系统调用命令
1.查看进程的memInfo
adb shell dumpsys meminfo 进程名 //在该命令的后面要加上进程的名字,以确定是哪个进程。
adb shell dumpsys meminfo com.android.mms将得到com.android.mms进程使用的内存信息:
Applications Memory Usage (kB):
Uptime: 495867 Realtime: 3319185
** MEMINFO in pid 2362 [com.android.mms] **
Shared Private Heap Heap Heap
Pss Dirty Dirty Size Alloc Free
------ ------ ------ ------ ------ ------
Native 0 0 0 3072 2939 117
Dalvik 6594 11816 6236 15047 14308 739
Cursor 0 0 0
Ashmem 0 0 0
Other dev 4 32 0
.so mmap 879 1240 500
.jar mmap 0 0 0
.apk mmap 141 0 0
.ttf mmap 119 0 0
.dex mmap 1185 0 0
Other mmap 127 20 124
Unknown 1840 344 1836
TOTAL 10889 13452 8696 18119 17247 856
Objects
Views: 44 ViewRootImpl: 1
AppContexts: 3 Activities: 1
Assets: 4 AssetManagers: 4
Local Binders: 24 Proxy Binders: 38
Death Recipients: 0
OpenSSL Sockets: 0
SQL
MEMORY_USED: 0
PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 0
2.adb shell top
top命令是Linux下常用的性能分析工具,可实时显示系统中各个进程的资源使用情况,有点像Windows的任务管
理器。
3.adb shell cat /proc/meminfo
只能得出系统整个内存的大概使用情况
可以用来查看剩余的空间,通常系统的剩余空间量为:MemFree + Cached
N:\>adb shell cat /proc/meminfo
MemTotal: 908816 kB
MemFree: 347540 kB
Buffers: 17440 kB
Cached: 148340 kB
SwapCached: 0 kB
Active: 243316 kB
Inactive: 128280 kB
如上剩余空间为 347540 kB + 148340 kB
4.adb shell procrank
查看所有进程的内存使用情况,哪些app/进程占用内存过多。
一般以PSS栏为参考,关注PSS值较大的进程。
N:\>adb shell procrank
PID Vss Rss Pss Uss cmdline
383 72900K 61928K 30386K 27472K system_server
643 62996K 57472K 26467K 24092K com.android.phone
699 89816K 49876K 19985K 18116K com.android.launcher
503 49708K 44444K 14833K 12904K com.android.systemui
789 42392K 42184K 13735K 11648K android.process.acore
583 41864K 41568K 12369K 10584K com.android.settings
2362 51204K 40140K 11098K 9540K com.android.mms
1118 38668K 38452K 10775K 9484K com.aspire.mmservice
802 37892K 37656K 10604K 9384K com.android.contacts
1391 33760K 33560K 7168K 6004K cn.emagsoftware.gamehall:b
1343 32480K 32256K 6277K 5200K cn.wps.moffice_eng
550 32908K 32684K 5649K 4300K android.process.media
1152 31628K 31412K 5018K 3992K cmccwm.mobilemusic
五、adb启动 应用程序
(1)查看app包名:
进入android操作系统
adb shell
在root@android:/ # 后边,输入
cd data/data
然后输入ls
这样就能看见android系统上安装的安装包 包名:
例如:
cn.com.conversant.swiftsync.android
com.android.backupconfirm
com.android.browser
com.android.calculator2
com.android.calendar
com.android.camera
...
(2)adb启动 应用程序
adb shell a
4000
m start -n cn.com.conversant.swiftsync.android/cn.com.conversant.swiftsync.android.main.SplashActivity
备注:adb shell am start -n包名/Activity类的类名
包名和Activity类的类名一定要输入正确,可以用re-sign工具(在最后的弹出信息框会显示出包名和Activity类名)。
六、adb停止 应用程序
adb shell am force-stop cn.com.conversant.swiftsync.android
备注:cn.com.conversant.swiftsync.android为包名。
1. 查看设备
adb devices //当前连接的设备, 连接到计算机的android设备或者模拟器将会显示处理
2. 安装软件 卸载软件
adb install xxx.apk //安装软件
adb install -r xxx.apk //重新安装该软件
adb uninstall apk包名.apk //卸载apk软件
3. 登录设备shell
adb shell //进入手机的超级终端Terminal
adb shell <command命令> //直接shell运行设备命令, 相当于执行远程命令
4. 从PC上发送文件到手机
adb push <本地路径> <远程路径>
adb push D:\xxx.apk system/app/
//A[system/app/]为手机路径,B[D:\xxx.apk]为电脑路径,,把文件从电脑复制到手机上
5. 从手机上下载文件到PC
adb pull <远程路径> <本地路径>
adb pull system/app/xxx.apk D:\
//A[system/app/xxx.apk]为手机路径,B[D:\]为电脑路径,,把文件从手机中复制到电脑上
6. 其他
adb remount //重新挂载文件系统
adb reboot //重启手机
adb reboot recovery //重启到Recovery界面
adb reboot bootloader //重启到bootloader界面
二 log使用
android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。
根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。
1、Log.v 的调试为黑色,任何消息都会输出
2、Log.d 的输出为蓝色,仅输出debug调试信息
3、Log.i 的输出为绿色,一般提示性消息information,无v和d的信息,会显示i、w和e的信息
4、Log.w 的意思为橙色,warning信息,需要我们注意优化Android代码,会输出e的信息。
5、Log.e 为红色错误信息,分析查看栈信息。
三 adb logcat过滤
1. 只显示需要的输出,白名单
最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配。简单的匹配一行当中的某个字符串,例如 MyApp:
adb logcat | grep MyApp
adb logcat | grep -i myapp #忽略大小写。
2 保存log
使用-d参数,可以在读完所有log后返回,而不会一直等待,在自动化较有用。例如:
adb logcat -d -s xxx > xxx.log //得到filter为xxx的日志,存入xxx.log,然后返回。
3 其他
adb logcat -s TAG名称 //显示某一TAG的日志信息:
adb logcat -v time -s videocamera //打印出 log 信息中时间,以及包含关键字 "videocamera" 的所有 log
四 系统调用命令
1.查看进程的memInfo
adb shell dumpsys meminfo 进程名 //在该命令的后面要加上进程的名字,以确定是哪个进程。
adb shell dumpsys meminfo com.android.mms将得到com.android.mms进程使用的内存信息:
Applications Memory Usage (kB):
Uptime: 495867 Realtime: 3319185
** MEMINFO in pid 2362 [com.android.mms] **
Shared Private Heap Heap Heap
Pss Dirty Dirty Size Alloc Free
------ ------ ------ ------ ------ ------
Native 0 0 0 3072 2939 117
Dalvik 6594 11816 6236 15047 14308 739
Cursor 0 0 0
Ashmem 0 0 0
Other dev 4 32 0
.so mmap 879 1240 500
.jar mmap 0 0 0
.apk mmap 141 0 0
.ttf mmap 119 0 0
.dex mmap 1185 0 0
Other mmap 127 20 124
Unknown 1840 344 1836
TOTAL 10889 13452 8696 18119 17247 856
Objects
Views: 44 ViewRootImpl: 1
AppContexts: 3 Activities: 1
Assets: 4 AssetManagers: 4
Local Binders: 24 Proxy Binders: 38
Death Recipients: 0
OpenSSL Sockets: 0
SQL
MEMORY_USED: 0
PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 0
2.adb shell top
top命令是Linux下常用的性能分析工具,可实时显示系统中各个进程的资源使用情况,有点像Windows的任务管
理器。
3.adb shell cat /proc/meminfo
只能得出系统整个内存的大概使用情况
可以用来查看剩余的空间,通常系统的剩余空间量为:MemFree + Cached
N:\>adb shell cat /proc/meminfo
MemTotal: 908816 kB
MemFree: 347540 kB
Buffers: 17440 kB
Cached: 148340 kB
SwapCached: 0 kB
Active: 243316 kB
Inactive: 128280 kB
如上剩余空间为 347540 kB + 148340 kB
4.adb shell procrank
查看所有进程的内存使用情况,哪些app/进程占用内存过多。
一般以PSS栏为参考,关注PSS值较大的进程。
N:\>adb shell procrank
PID Vss Rss Pss Uss cmdline
383 72900K 61928K 30386K 27472K system_server
643 62996K 57472K 26467K 24092K com.android.phone
699 89816K 49876K 19985K 18116K com.android.launcher
503 49708K 44444K 14833K 12904K com.android.systemui
789 42392K 42184K 13735K 11648K android.process.acore
583 41864K 41568K 12369K 10584K com.android.settings
2362 51204K 40140K 11098K 9540K com.android.mms
1118 38668K 38452K 10775K 9484K com.aspire.mmservice
802 37892K 37656K 10604K 9384K com.android.contacts
1391 33760K 33560K 7168K 6004K cn.emagsoftware.gamehall:b
1343 32480K 32256K 6277K 5200K cn.wps.moffice_eng
550 32908K 32684K 5649K 4300K android.process.media
1152 31628K 31412K 5018K 3992K cmccwm.mobilemusic
五、adb启动 应用程序
(1)查看app包名:
进入android操作系统
adb shell
在root@android:/ # 后边,输入
cd data/data
然后输入ls
这样就能看见android系统上安装的安装包 包名:
例如:
cn.com.conversant.swiftsync.android
com.android.backupconfirm
com.android.browser
com.android.calculator2
com.android.calendar
com.android.camera
...
(2)adb启动 应用程序
adb shell a
4000
m start -n cn.com.conversant.swiftsync.android/cn.com.conversant.swiftsync.android.main.SplashActivity
备注:adb shell am start -n包名/Activity类的类名
包名和Activity类的类名一定要输入正确,可以用re-sign工具(在最后的弹出信息框会显示出包名和Activity类名)。
六、adb停止 应用程序
adb shell am force-stop cn.com.conversant.swiftsync.android
备注:cn.com.conversant.swiftsync.android为包名。
相关文章推荐
- adb常用命令和logcat使用
- adb logcat调试中常用的命令介绍
- adb常用命令和logcat使用
- adb常用命令和logcat使用
- adb logcat 常用命令
- adb logcat 常用命令
- adb常用命令和logcat使用
- Android Logcat小结和adb常用命令
- Logcat命令详解 和 adb 常用命令
- android logcat 命令详解 和 adb 常用命令
- adb 和 shell、Logcat 常用命令
- adb logcat调试中常用的命令介绍
- adb 和 shell、Logcat 常用命令
- adb logcat 常用命令
- adb常用命令和logcat使用
- adb logcat常用命令小结
- Android adb 常用命令及需要注意的事项
- 常用的android adb 调试命令
- ADB 常用命令
- android adb常用命令