常用adb 命令整理

一、adb介绍

SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序。借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作:

1、快速更新设备或手机模拟器中的代码,如应用或Android 系统升级;
2、在设备上运行shell命令;
3、管理设备或手机模拟器上的预定端口;
4、在设备或手机模拟器上复制或粘贴文件;
 

二、adb在集成开发环境中的工作 

adb的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。 
1.通过adb可以轻松的执行Linux Shell命令,如adb shell dir 就是列举目录,在Linux中根目录为/而不是Windows上的C盘、D盘。 
2.安装apk程序到模拟器则执行adb install android123.apk,这样名为android123的安装包就会安装到Android模拟器中,前提是android123.apk文件需要放到SDK/Tools目录下。 
3.向emulator传送文件, 使用adb push android123.txt /tmp/android123.txt命令可以把SDK/Tools下的android123.txt文件传输到模拟器的/tmp/文件夹中,需要注意的是/tmp/文件夹中内容会在Android模拟器重新启动时清空。 
4.从Android仿真器中回传文件到电脑 
通过adb pull /tmp/android123.txt android123.txt命令就会把仿真器的tmp文件夹下android123.txt文件回传到电脑SDK/Tools目录下。  
 

三、adb常用命令大全

1. 显示系统中全部Android平台:
    android list targets
2. 显示系统中全部AVD(模拟器):
    android list avd
3. 创建AVD(模拟器):
    android create avd --name 名称 --target 平台编号
4. 启动模拟器:
    emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
5. 删除AVD(模拟器):
    android delete avd --name 名称
6. 创建SDCard:
    mksdcard 1024M ~/名称.img
7. AVD(模拟器)所在位置:
    Linux(~/.android/avd)      Windows(C:\Documents and Settings\Administrator\.android\avd)
8. 启动DDMS:
    ddms
9. 显示当前运行的全部模拟器:
    adb devices
10. 对某一模拟器执行命令:
      abd -s 模拟器编号 命令
11. 安装应用程序:
      adb install -r 应用程序.apk
12. 获取模拟器中的文件:
      adb pull
13. 向模拟器中写文件:
      adb push
14. 进入模拟器的shell模式:
      adb shell
15. 启动SDK,文档,实例下载管理器:
      android
16. 缷载apk包:
      adb shell
      cd data/app
      rm apk包
      exit
      adb uninstall apk包的主包名
      adb install -r apk包
17. 查看adb命令帮助信息:
      adb help
18. 在命令行中查看LOG信息:
      adb logcat -s 标签名
19. adb shell后面跟的命令主要来自:
      源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。
20. 删除系统应用:
      adb remount (重新挂载系统分区,使系统分区重新可写)。
      adb shell
      cd system/app
      rm *.apk
21. 获取管理员权限:
      adb root
22. 启动Activity:
     adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。
23、发布端口:
    你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
24、复制文件:
    你可向一个设备或从一个设备中复制文件,
     复制一个文件或目录到设备或模拟器上:
adb push
      如:adb push test.txt /tmp/test.txt
     从设备或模拟器上复制一个文件或目录:
     adb pull
     如:adb pull /addroid/lib/libwebcore.so .
25、搜索模拟器/设备的实例:
     取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
    adb devices
26、查看bug报告:
adb bugreport
27、记录无线通讯日志:
    一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
    adb shell
    logcat -b radio
28、获取设备的ID和序列号:
     adb get-product
     adb get-serialno
29、访问数据库SQLite3
     adb shell
     sqlite3
#cd system/sd/data //进入系统内指定文件夹
#ls //列表显示当前文件夹内容
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
#rm xxx //删除文件xxx
#rmdir xxx //删除xxx的文件夹

四、常用简单的adb命令:

1、adb devices:                        获取设备列表和设备的状态
2、adb get-state:                      获取设备的状态(设备的状态有三种:device,设备连接正常;offline,连接出现异常,设备无响应;unknown,设备未连接;)
3、adb kill-server,adb start-server:  结束,启动adb服务
4、adb install -r:                     覆盖安装应用(apk)
5、adb uninstall:                      卸载应用(应用包名)
6、adb pull :                          将设备上的文件复制到电脑上
7、adb push :                          将电脑上的文件复制到设备上
8、adb reboot :                        重启设备
9、adb connect :                       远程连接设备
10、adb disconnect :                   断开设备连接

五、adb shell pm基本的命令:

1、列出安装在设备上的应用

# adb shell pm list package -s     列出系统应用
# adb shell pm list package -3     列出第三方的应用
# adb shell pm list package -i     列出来源
# adb shell pm list package -f     列出包名和路径
2、列出应用apk的位置

# adb shell pm path packagename    列出应用apk的位置
3、列出应用的详细信息

# adb shell pm dump packagename    列出应用相关的信息
4、清除应用的缓存数据

# adb shell pm clear packagename   清除应用的缓存数据
5、安装卸载手机应用:

首先将test.apk文件push到手机目录中比如/data/local/tmp
# adb shell pm install /data/local/tmp/test.apk       安装
# adb shell pm install –r /data/local/tmp/test.apk    重新安装
# adb shell pm uninstall -k packagename               卸载,加k保留缓存数据
# adb shell pm install -d apk                         允许降级安装

六、adb shell am基本的命令:

1、启动一个 Activity:

# adb shell am start -n activityname    启动一个 Activity
2、等待页面启动完成:

# adb shell am start -W activityname    等待页面启动完成
3、先停止应用再启动:

# adb shell am start -S activityname    先停止应用再启动
4、结束应用:

# am force-stop  packagename            结束应用

七、adb shell dumpsys基本的命令:

1、监控应用数据:

# adb shell dumpsys cpuinfo       cpu信息
# adb shell dumpsys meminfo       内存信息
# adb shell dumpsys power         电源信息
# adb shell dumpsys battery       电池信息
# adb shell dumpsys wifi          wifi信息
# adb shell dumpsys notification  通知信息
# adb shell dumpsys activity      获取页面信息

八、关闭某项进程,以monkey为例:

杀死monkey进程:
# ps | grep monkey     查看monkey进程的pid
# kill pid             杀死monkey进程
五、最近12小时的资源情况:

# dumpsys procstats --hours 12    最近12小时的资源情况
 

九、录制屏幕命令:

# adb shell screenrecord /sdcard/demo.mp4    视频录制命令
可选参数:
1、限制录制时间:
参数: --time-limit

2、指定视频分辨率大小:
参数: --size

3、指定视频的比特率:
参数: --bit-rate

4、在命令行显示log:
参数: --verbose
 

十、截图命令:

# adb shell screencap -p /sdcard/screen.png    截图并保存到指定位置

十一、input命令:

adb shell input:
<可选参数>
#text 输入文本
#keyevent 输入事件
#tap 点击
#swipe 滑动<坐标><坐标为原地,则是长按>

十二、关于获取当前页面的信息:

# adb shell dumpsys activity top | findstr ACTIVITY    获取当前界面的Activity
# adb shell dumpsys activity | findstr mFocusedActivity   获取当前页面的activity

十三、生成当前页面的xml文本:

# adb shell uiautomator dump [file]    获取当前页面的xml信息
text 控件中显示的文本内容 
class 控件的类型 
package 包名 
content-desc 说明 
checkable 是否允许check 
checked check状态 
clickable 是否允许click 
enabled 控件状态 
focusable 是否允许获取焦点 
focused 是否获取到焦点 
scrollable 是否允许滚动 
long-clickable 是否允许长安 
password 是否是密码控件 
selected select状态 
bounds 控件绘制的长宽及位置 四个数据,分成两组,分别是 左上坐标和右下坐标
 

十四、打印页面的log信息:

# logcat -s ActivityManager    打印页面的log信息

十五、系统操作指令

adb shell getprop ro.product.model  获取设备型号

adb shell getprop ro.build.version.release  获取设备 Android 系统版本

adb get-serialno  获取设备的序列号(设备号)

adb shell wm size  获取设备屏幕分辨率

adb shell dumpsys activity |find "mFocusedActivity" 查看前台应用包名,适用于 Android 7.0 以下,必须先启动 app

adb shell dumpsys activity |find "mResumedActivity" 查看前台应用包名,适用于 Android 8.0 以上,必须先启动 app
 

常用adb 命令整理_adb命令_thundersoft230的博客-CSDN博客

android调试工具adb命令大全_Android_脚本之家

你可能感兴趣的:(linux)