adb是什么:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
adb有什么用:借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作
1. 查看设备 :adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
2.安装软件 :adb install / adb -s 设备名 install/adb install -r
adb install <apk文件路径> :这个命令将指定的apk文件安装到设备上
adb -s 设备名 install <apk文件路径>: 将指定的apk文件安装到指定的设备上的SD卡上
adb install -r <apk文件路径> :覆盖安装,并保持已有数据不变
adb push 能够指定安装目录。比如执行"adb push xxx.apk system/app" 后,xxx.apk被安装到了system/app目录下。
3. 卸载软件 :
adb uninstall <软件包名>
adb uninstall -k <软件包名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件.
4. 进入设备或模拟器的shell: adb shell
Shell俗称壳(用来区别于核),是命令解析器。在这个Linux Shell中,你可以执行各种Linux的命令。
通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:
adb shell [command]
如:adb shell dmesg会打印出内核的调试信息。
5. 发布端口 :可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
6. 从电脑上发送文件到设备 :
adb push <本地路径> <远程路径>
用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
7. 从设备上下载文件到电脑 :
adb pull <远程路径> <本地路径>
用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
8、查看bug报告:
adb bugreport
9、记录无线通讯日志 :一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
10、获取设备的ID和序列号 :
adb get-product
adb get-serialno
adb shell
sqlite3
11、显示系统中全部Android平台
adb android list targets
12、对某一设备执行命令
adb -s 设备编号 命令
13、连接/断开某设备
adb connect ip:port //连接设备
adb disconnect ip:port // 断开设备
14、查看adb命令帮助信息:
adb help
15、删除系统应用
adb remount (重新挂载系统分区,使系统分区重新可写)。
adb shell
cd system/app
rm 123.apk
16、删除android系统中指定文件或文件夹
adb remount
adb shell
#su
#cd system/sd/data //进入系统内指定文件夹
#ls //列表显示当前文件夹内容
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
#rm xxx //删除文件xxx
#rmdir xxx //删除xxx的文件夹
#exit 退出shell
17、删除系统应用
adb remount (重新挂载系统分区,使系统分区重新可写)。
adb shell
cd system/app
rm *.apk
18、获取设备的ID和序列号
adb get-product
adb get-serialno
19、重启设备
adb reboot
20、截屏
adb shell screencap /mnt/sdcard/aa/001.png //抓屏命令
adb pull /mnt/sdcard/aa/001.png e:aa 01.png //pull到本地e盘
21、获取logcat日志
adb logcat -d -f /sdcard/log.txt //将logcat日志保存到sdcard
adb pull sdcard/log.txt D:/ //将sdcard上日志保存到本地
22、保存所有日志到本地
adb logcat -v time >D:log.txt // 将日志保存到本地D盘中
23、新建文件夹
adb shell
#cd /mnt/sdcard //cd到需要新建文件夹的目录
#mkdir aa //用mkdir命令新建文件夹aa
24、查看日志
adb logcat -v time
25、保存日志到本地
adb logcat -v time >e:aalog.txt
26、清屏
cls
27、查看APP包名(已安装到手机上无apk包)
输入命令:adb shell am monitor
启动需要获取包名的应用
28、查看app启动页activity
输入命令:adb shell dumpsys package 包名
回车之后找到包含“category.LAUNCHER” 字样的Activity即可
29、查看包名和activity(有apk包时)
使用aapt //aapt是sdk自带的一个工具,在sdkuilds-tools目录下
aapt dump badging apk包路径
1.以ES文件浏览器为例,命令行中切换到aapt.exe目录执行:aapt dump badging E:apkes3.apk
2.运行后的结果中以下两行分别是应用包名package和入口activity名称
package: name=’com.estrongs.android.pop’
launchable-activity: name=’com.estrongs.android.pop.view.FileExplorerActivity’
注:在android sdk目录搜索可以找到aapt.exe,如果没有可以下载apktool。