美文网首页
Android-adb使用详解

Android-adb使用详解

作者: 沉淀者 | 来源:发表于2020-11-26 11:27 被阅读0次

    一、adb shell

    安卓系统是基于Linux系统开发,也就支持常见的Linux的命令,这些命令都保存在手机“/system/bin”的目录下,通过adb shell 便可以调用这些命令。
    进入“/system/bin”该文件夹下便可以看到这些命令,如下图,常用的dumpsys、echo

    image.png

    对于以上的所有命令可以再后面跟上【-help】查看具体用法

    1、adb shell screencap <手机路径>

    adb shell screencap /sdcard/test.png :截屏操作,appUI自动化常用命令,当case执行失败时,如果句柄丢失,也就是出现ANR或者崩溃时,框架无法截图,最好自己处理截图操作~

    adb shell screencap /sdcard/test.png
    对手机当前屏幕进行截屏,然后保存在手机sdcard目录下面,命名为test.png
    
    adb pull /sdcard/test.png
    把sdcard目录下面的test.png图片拉到电脑,默认拉取到你当前执行的工作目录
    

    2、adb shell dumpsys

    强大的dump工具,可以输出很多系统信息,例如window,activity,task/back stack信息,wifi信息等。

    image.png

    专项测试的时候对这些命令非常有用,举例:
    内存、adb shell dumpsys meminfo com.xxxxx.xxxx | findstr TOTAL
    CPU、adb shell dumpsys cpuinfo | findstr com.xxxxx.xxxx
    功耗、adb shell dumpsys battery
    GPU、adb shell dumpsys gfxinfo com.xxxxx.xxxx

    3.打印所有包名

    adb shell pm list packages
    
    ➜  ~ adb shell pm list packages
    package:com.huawei.floatMms
    package:com.android.defcontainer
    package:com.tencent.mm
    

    4.查看所有已经连接上的设备

    adb devices
    

    5.安装卸载

    adb install <apk文件路径>
    adb install -r <apk文件路径>     通过install命令来安装apk文件,-r参数可以重新安装某个应用并保留应用数据
    
    adb install -r ~/chrome.apk
    
    卸载应用:
    adb uninstall <软件名>
    adb uninstall -k < 软件名>         如果加 -k 参数,为卸载软件但是保留配置和缓存文件
    
    adb uninstall com.android.chrome
    

    6.关机命令

    adb shell
    su
    reboot -p
    

    二、Linux命令实例

    //进入设备
    adb shell
    //进入指定目录"/data/local/tmp"
    cd /data/local/tmp
    //查看目录
    ls
    //进入根目录
    cd /
    //进入指定目录"/data/local/tmp"
    cd /data/local/tmp
    //查看分区列表
    df
    //在当前目录下创建名为1的.txt文件(再创建个两个,命名为2和3,方便后面继续学习使用)
    touch 1.txt
    //列出所有文件(包括隐藏文件)的详细信息,此时可以查看刚刚的1.txt是否创建成功
    ls -al
    //在当前目录下创建一个名为1的文件夹
    mkdir1
    //列出所有文件(包括隐藏文件)的详细信息,此时可以查看刚刚的目录文件夹是否创建成功
    ls -al
    //在当前目录下创建递归目录,2下面包含3,3下面包含4
    mkdir -p 2/3/4
    //回到上一级目录,连续操作两次让他回到cd /data/local/tmp目录下
    cd ..
    //将1.txt文件移动到1目录中(剪切效果)
    mv 1.txt 1
    //进入1目录cd 1
    //查看1.txt是否移动进去了
    ls
    //返回上一级目录
    cd ..
    //将当前目录下的2.txt文件复制到名为2的目录下并命名为2.txt
    dd if=2.txtof=2/22.txt
    //进入到目录2中
    cd 2
    //查看上个文件操作是否操作成功
    ls
    //回到上一级目录
    cd ..
    //进入1目录
    cd 1
    //删除当前目录下的1.txt文件
    rm 1.txt
    //回到上一级目
    cd ..
    //删除名为1的目录
    rmdir 1
    //查看删除操作是否删除成功
    ls
    //查看文件权限信息
    la -al
    //修改2.txt的文件权限为最高
    chomd 777 2.txt
    //查看刚刚修改的文件权限信息是否成功
    la -al
    //查看2.txt文件的md5
    md5 2.txt
    //查看挂载设备信息
    mount
    //将system分区变成可读可写"mount -o [option] devices directory"
    mount -o remount,rw /dev/block/sda6 /system
    //查看刚刚的修改是否成功
    mount
    //查看分区列表
    
    df
    //卸载掉"/storage/sdcard"分区挂载
    umount /storage/sdcard
    //查看刚刚的卸载是否成功
    df
    //输入点内容到2.txt中
    echo 333 >>2.txt
    echo 222 >>2.txt
    //查看2.txt文件
    cat 2.txt
    //指出两个文件是否存在差异
    cmp 2.txt 3.txt
    //复制2.txt文件夹并粘贴到当前目录中,命名为22.txt
    dd if=2.txt of=22.txt
    //指出两个文件是否存在差异
    cmp 2.txt 3.txt
    cd
    //在2目录下创建一个名为2o.txt的2的硬连接文件(因为2的目录下已经存在2.txt文件,不然使用"ln 2.txt 2"命令就可以了)
    ln  2.txt 2/2o.txt
    //进入到2目录
    cd 2
    //查看2o.txt文件内容
    cat 2o.txt
    //在2o.txt文件中加入内容
    echo >>2o.txt
    //返回上一级目录
    cd ..
    //查看连接文件2.txt的文件内容是否与2o.txt一致
    cat 2.txt
    

    相关文章

      网友评论

          本文标题:Android-adb使用详解

          本文链接:https://www.haomeiwen.com/subject/cseaiktx.html