常用的adb命令。大飞_Rflyee:http://blog.youkuaiyun.com/rflyee/article/details/10033287,在此基础上添加补充了。
1、列出系统上已经安装的android平台和已建的avd信息:android list
2、显示系统中已安装的全部Android平台:android list targets
3、显示系统中已建的全部AVD(模拟器):android list avd
4、创建AVD(模拟器):android create avd --name 名称 --target 平台编号
5、启动模拟器:emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
6、删除AVD(模拟器):android delete avd --name 名称
7、创建SDCard:
Linux:mksdcard 1024M ~/名称.img
windows:mksdcard 1024M C:\Documents and Settings\Administrator\.android\name.img
8、AVD(模拟器)所在位置:
Linux(~/.android/avd)
Windows(C:\Documents and Settings\Administrator\.android\avd)
9、启动DDMS:(不建议)
ddms
启动Debug monitor:(建议)
monitor.bat
10、对某一模拟器执行命令:
abd -s 模拟器编号 命令
11、获取模拟器中的文件:adb pull <remote> <local>
12、向模拟器中写文件:adb push <local> <remote>
13、进入模拟器的shell模式:adb shell
14、启动SDK,文档,实例下载管理器:android
15、查看adb命令帮助信息:adb help
16、在命令行中查看LOG信息:adb logcat -s 标签名
17、adb shell后面跟的命令主要来自:
源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。
18、删除系统应用:
adb remount (重新挂载系统分区,使系统分区重新可写)。
adb shell
cd system/app
rm *.apk
19、获取管理员权限:adb root
20、启动Activity:
adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。
21、发布端口:
你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
23、查看bug报告:adb bugreport
24、访问数据库SQLite3 (详见大飞_Rflyee: http://blog.youkuaiyun.com/rflyee/article/details/9767897 )
adb shell
sqlite3
#cd system/sd/data //进入系统内指定文件夹
#ls //列表显示当前文件夹内容
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
#rm xxx //删除文件xxx
#rmdir xxx //删除xxx的文件夹
#touch /sdcard/a.txt //创建空的a.txt文件
#echo abcdefg > /sdcard/b.txt //创建b.txt文件内容为abcdefg
25、显示模拟器或设备名列表及状态:
adb devices (device表示在线/offline表示设备没有连接或无响应)
cmd /c adb devices 查看完设备后自动关闭窗口
26、安装软件到设备:adb install
27、重新安装软件:adb install -r
28、获得安装的位置(默认为自动):adb shell pm get-install-location
29、从设备卸载软件:
adb uninstall <包名>
添加参数-k在卸载软件时保留配置和缓存文件:
adb uninstall –k <包名>
30、查看设备上所有包含<INTENT>的包名:adb shell pm list packages
31、查看安装的apk版本号:adb shell pm dump <包名> | grep version
32、从电脑上发送文件到设备:adb push <本地路径> <远程路径>
33、从设备上下载文件到电脑:adb pull <远程路径> <本地路径>
34、登录设备shell:
adb shell后可直接运行设备命令(想当于远程执行命令)
退出shell模式:exit 或者 ctrl+c
35、连接多设备选择操作:adb –s <设备号> 后续加命令与单设备连接时相同
36、输出Android系统当前的信息:
adb shell dumpstate
其输出内容主要包括以下内容:
a.设备基本信息
b.内存使用情况
c.CPU使用情况
d./proc文件夹中保存的系统各种实时信息,特别是内存使用方面的详细信息,如用procrank命令获取的按内存使用率情况排序的进程列表
e.内核的一些信息
f.进程列表
g.各种进程中的线程列表以及各线程的堆栈信息
h.各进程打开的文件
i.Logcat中的三个环状日志的内容,分别是系统主日志SYSTEM、事件日志EVENT和无线电日志RADIO
j.网络相关的信息
k.df命令输入的文件系统使用率信息
l.系统中安装的应用包信息
m.dumpsys命令输出的信息
n.正在运行的应用列表
o.正在运行的服务列表
p.正在运行的内容供应组件列表
37、输出当前servers信息:
Adb shell dumpsys activity
Adb shell dumpsys cpuinfo(CPU)
Adb shell dumpsys batterystate(电池)
Adb shell dumpsys window(分辨率)
Adb shell dumpsys meminfo(内存)
38、getprop属性:进入shell
getprop ril.cdma.emdstatus.send 是否电信版本(电信版的返回:1)
getprop gsm.sim.state 手机是否装有sim卡
39、启动应用程序:adb shell am start –n <包名> /. <Activity名>
40、退出应用程序:adb shell am force-stop <包名>
41、启动service:Adb shell am startservice –n <包名>/.<包名.service名>
42、清除应用数据:adb shell pm clear <包名>
43、发送广播:adb shell am broadcast –a android.intent.action.MASTER_CLEAR (恢复出厂设置)
44、截图:adb shell screencap –p adb shell screencap –p /sdcard/screen.jpg
45、视频录制:
adb shell screenrecord <路径>/<名字.格式>
(1)参数--time-limit (限制录制时间,如果不限制默认180s):
例如:adb shell screenrecord --time-limit 30 /sdcard/demo.mp4 (限制录制时间为30s)
(2)参数--size (指定视频分辨率大小):
例如:adb shell screenrecord --size 1280*720 /sdcard/demo.mp4
(3)参数--bit-rate (指定视频的比特率,如果不指定默认4Mbps,比特率越高视频质量越好占用文件资源越大)
例如:adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4 (指定比特率为6Mbps)
(4)参数—verbose (在命令行显示log)
46、检测手机运行时间:adb shell uptime
47、启动adb服务:adb kill-server
48、关闭adb服务:adb start-server
49、查看所有的包名:adb shell pm list packages
50、查看当前页面的Activity路径:adb shell dumpsys activity top|findstr ACTIVITY
51、查看apk版本号:进入adb shell 执行 pm dump 包名|grep version
52、查看有哪些service信息:进入adb shell 执行 dumpsys | grep DUMP
53、从电脑上发送文件到设备:adb push <本地路径> <远程路径>
54、从设备上下载文件到电脑:adb pull <远程路径> <本地路径>
55、帮助信息:adb help
56、挂在读写:adb remount
57、多远设备选择:adb -s + 命令
58、查看电池使用的服务信息:adb shell dumpsys batterystats
59、查看系统日志:adb logcat
60、查看一个apk所在的目录:adb shell pm path com.meizu.filemanager
61、查看手机输入法:进入adb shell,ime list
62、设置unicode输入法:ime set com.meizu.script/.services.Utf7imeService
63、设置搜狗输入法:ime set com.meizu.flyme.input/com.meizu.input.MzInputService
64、还有一个输入法:ime set com.android.latin/.lainIme
65、用命令删除文件
如:Runtime.getRuntime().exec("rm /sdcard/res/Music/mp3.mp3");
在adb shell下执行:rm /sdcard/res/Music/mp3.mp3
66、重启设备:adb reboot
67、重启到recovery模式进行刷机:adb reboot recovery
68、重启到bootloader模式进行刷机:adb reboot bootloader
69、重启到fastboot模式进行刷机:adb reboot fastboot
70、常见刷fastboot的命令:
fastboot help 查看手机相关帮助
fastboot devices 显示fastboot设备
fastboot getvar all获取手机相关信息
fastboot reboot #重启手机(退出)
fastboot reboot-bootloader #重启到bootloader模式
fastboot oem rebootRUU #重启到HTC RUU刷机模式
fastboot flash dtb C:\dtb
fastboot flash kernel C:\zimage
fastboot flash ramdisk C:\ramdisk-uboot.img
fastboot flash recovery C:\recovery-uboot.img
fastboot flash system C:\system.img
fastboot erase system #擦除system分区
fastboot erase boot #擦除boot分区
fastboot erase cache #擦除cache分区
fastboot erase userdata #擦除userdata分区
71、进入shell并获得权限:adb shell su
72、打开WiFi:svc wifi enable
73、关闭WiFi:svc wifi disable
74、查看某手机版本类型:adb shell cat proc/lk_info/sw_version
75、查看某手机是否为量产版本:adb shell cat /sys/devices/mx_tsp/appid
76、查看某手机是否加密(0是非加密,1是加密):adb shell cat proc/lk_info/sec
77、查看手机机型:adb shell getprop ro.build.product
78、查看Android版本:adb shell getprop ro.build.version.release
79、查看flyme版本:adb shell getprp ro.build.display.id
80、查看手机属性:adb shell getprop
81、让一个apk从禁用状态恢复过来:adb shell su enable com.UCMobile/.main.UCMobile
82、让一个apk处于禁用状态,相当于卸载了:adb shell su disable com.UCMobile/.main.UCMobile
83、获得序列号:adb get-serialno
84、查看系统日志:adb logcat
adb logcat [选项] [过滤项]
-- "-s"选项 :设置输出日志的标签, 只显示该标签的日志;
--"-f"选项 :将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
--"-r"选项 :按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
--"-n"选项 :设置日志输出的最大数目,需要-r参数, 这个执行感觉跟adb logcat效果一样;
--"-v"选项 :设置日志的输出格式, 注意只能设置一项;
--"-c"选项 :清空所有的日志缓存信息;
--"-d"选项 :将缓存的日志输出到屏幕上, 并且不会阻塞;
--"-t"选项 :输出最近的几行日志, 输出完退出, 不阻塞;
--"-g"选项 :查看日志缓冲区信息;
--"-b"选项 :加载一个日志缓冲区, 默认是 main, 下面详解;
--"-B"选项 :以二进制形式输出日志;
使用 adb logcat 10 *:E 命令, 显示 Error 以上级别的日志;
使用 adb logcat WifiHW:D *:S 命令进行过滤;
使用adb logcat WifiHW:D dalvikvm:I *:S 命令, 输出 WifiHW 标签的Debug以上级别和dalvikvm标签的Info以上级别的日志;
-- 命令 : adb logcat | grep Wifi ;
忽略大小写 :adb logcat | grep -i wifi ;
adb logcat | grep "^..Activity";
adb logcat -s System.out
adb logcat 10*:E
adb logcat WiFiHW:D *:S
adb logcat WiFiHW:D dalvikvm:I *:S
adb logcat | grep -i wifiservice
adb shell 执行 logcat | grep "^..Activity"
adb logcat -v time
adb logcat -v threadtime
adb logcat -v prief
adb logcat -v process
adb logcat -v tag
adb logcat -v raw
adb logcat -v time
adb logcat -v long
--V : Verbose (明细);
--D : Debug (调试);
--I : Info (信息);
--W : Warn (警告);
--E : Error (错误);
--F: Fatal (严重错误);
--S : Silent(Super all output) (最高的优先级, 可能不会记载东西);
完。