adb 常用命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wanglin_lin/article/details/48165447

1 adb的概念

adb的全称为Android Debug Bridge(调试桥);通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序。当我们运行Eclipse时ADB进程会自动运行(默认adb会daemon相关的网络端口)。adb是一个客户端-服务器端程序,其中客户端是电脑,服务端是Android设备。

2 adb的主要功能

  • 运行设备的shell命令;

  • 管理模拟器或设备的端口映射;

  • 计算机和设备之间上传/下载文件;

  • 将本地apk软件安装至模拟器或Android设备;

3 adb的常用命令

3-1 查看设备:adb device

这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示。

这里写图片描述

输出信息的第2列都是device,表示当前设备都在线。如果该列的值是offline,表示该实例没有连接到adb上或实例没有响应。

3-2 登录设备的shell:adb shell

这个命令将登录设备的shell.后面加将是直接运行设备命令, 相当于执行远程命令。

这里写图片描述

退出shell模式:ctrl+c

这里写图片描述

3-3 启动和关闭ADB服务:adb kill-server

模拟器在运行一段时间后,adb服务有可能(在Windows进程中可找到这个服务,该服务用来为模拟器或通过USB数据线连接的真机服务)会出现异常。这时需要重新对adb服务关闭和重启。

3-4 重启设备:adb reboot

重新启动到recovery

adb reboot recovery

重新启动到bootloader

adb reboot bootloader

重新启动到bootloader

adb reboot fastboot
fastboot flash recovery <路径>

3-5 安装软件:adb install

这个命令将指定的apk文件安装到设备上。

如:adb install E:\com.baidumap.apk

如果在安装程序之前,该程序已经在模拟器或真机上存在了,可以使用“-r”重新安装。

adb install -r  E:\com.baidumap.apk

3-6 卸载软件:adb uninstall <包名>

adb uninstall -k <包名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件。

如:adb uninstall  com.alistory.Activity

3-7 查看所有应用包名

adb shell pm list packages

这里写图片描述

3-8 电脑->设备

adb push <本地路径> <远程路径>
用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)。

如:adb push  E:\test.txt   /sdcard/

3-9 设备->电脑

adb pull <远程路径> <本地路径>
用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑。

如:adb pull /sdcard/1.txt   d:\file\

3-10 多设备选择

adb –s <设备号>
多设备选择操作

3-11 adb shell下的dumpsys可以查看很多系统service信息

adb shell dumpsys activity top|findstr ACTIVITY

3-12 adb logcat查看系统日志

通过选项(参数)过滤
通过管道( | grep )过滤

如: ps |grep system_server

这里写图片描述

3-13 adb shell下的getprop可以查看很多设备相关信息(IMIE、SN、固件信息、机型……)

脚本中可以用Runtime.getRuntime().exec(“getprop ro.product.model”);

3-14 adb命令在android 代码中这样执行:

private boolean runCmdFunction(String cmd) {
        boolean retValue = false;

        if (cmd == null) {
            return false;
        }

        Process process = null;
        try {
            process = Runtime.getRuntime().exec(cmd);
            retValue = true;
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        }

        return retValue;
    }

4 adb总结

综合来说,adb在开发测试调试中是一个很不错的工具,很多小的细节需要在项目中慢慢体会。

没有更多推荐了,返回首页