美文网首页DevToolsAndroid技术知识Android知识
ADB看完这篇就够了for安卓开发/测试人员

ADB看完这篇就够了for安卓开发/测试人员

作者: TrillGates | 来源:发表于2017-05-20 23:44 被阅读230次

    ADB看完这篇就够了for安卓开发/测试人员

    【本篇文章的视频地址】
    适合安卓初学者或者Android测试人员,视频地址:
    http://study.163.com/u/4381854733

    【关于什么是ADB】

    一般来说,我们礼貌性地会问,什么是ADB的,那就请大家看这一篇文章吧!

    什么是ADB:
    http://bbs.sunofbeaches.com/thread-5975-1-1.html
    如果你想看视频怎么办呢?
    去我们的站内视频模块下载吧!
    【ADB的下载和安装】
    对于ADB的下载和安装,有两种方式,一种是针对开发人员的,那么可以看我在网易云上的视频即可:
    http://study.163.com/course/introduction/1003788008.htm#/courseDetail
    对于测试人员来说,看这个就够了哈,后面我会录制成视频的:http://bbs.sunofbeaches.com/thread-5985-1-1.html【ADB核心使用指令】大家先看思维导图吧:


    下面,我们就分开来讲解:【设备相关的指令】设备查看
    • 查看设备,一般我们用于查看设备是否已经连接上了,或者说,是否有打开USB调试,授权之类的。这个命令很简单:
      adb devices

    要注意的是,这个devices是复数,有s的呢,别漏掉了哈!

    • 设备重新挂载
      设备重新挂载,这个命令使用的时机是在对已经root的安卓系统文件进行操作前。执行重新挂载才有权限,否则会被禁止的。
      adb remount
      这里面要注意的是,即使remount了显示成功了,如果没有root的话,也是没有权限删除里面的文件的。

    • 设备重启
      重启很简单,就跟linux的命令一样,reboot,一般在自动化测试的时候 ,需要机器重启,或者死机了,就使用这个指令去让机器重新启动一次。指令如下:
      adb reboot

    • 设备关机
      设备关机,设备关机的使用情况比较少,这里的话也跟大家说一下吧,这个指令是很简答的,跟前面一下,也是Linux指令:
      adb reboot -p

    • 处理命令执行时多个设备的情况
      当我们在执行一个指令的时候 ,如果我们的电脑连接了多个设备的话,那么命令行窗口就会提示说有多个设备。这个时候 ,我们执行命令,就需要添加一个命令了,比如说,我们要对设备进行重启操作,但是有多个设备,那么我们的指令就是这么写了:
      adb -s 设备名 reboot
      这里面这个设备名,可以通过前面的查看设备来看到,查看设备的指令就是显示设备的名字和设备的状态的。

    • 进入sehll
      进入shell,也就是进入android系统的命令行窗口,用linux指令来控制android系统。但是不是所有的指令都可以用,因为android系统是一个精简版的linux系统。
      adb shell

    【常用的Shell指令】
    前面,进入了shell脚本命令行以后就可以用Linux指令来操作android系统了。所以,常用的一些指令,我们还是必要掌握的。

    • 目录的切换
      目录的切换很简单,和windows的是一样的。

      cd 目录地址绝对路径
      cd ./文件夹名称/文件夹名称/...
      

    面这个点表示的是当前目录,跟windows下一样用就可以了

    • 列出所有的文件
      列出所有的文件,这个的话跟windows不一样了,windows是dir,而linux下面是 l 也就是list的意思,列表的意思。一般来说,我用ls 或者ll这两个
      l

       ls
      
       ll
      

    这三个都可以,列出文件列表。

    • 复制文件
      复制文件的话,用cp命令,它的原英文是copy的意思。
      cp 文件的绝对路径包括名字和后缀 目标文件的路径包括名字和后缀

    //如果是文件夹

     cp -r 文件夹的绝对路径包括名字和后缀  目标文件夹的路径包括名字和后缀
    
    • 删除文件/文件夹
      删除文件的话,要注意的,如果是删除文件,直接是rm 原单词是remove 的意思,删除的意思。相关的参数的,-r删除文件夹 -f 强制删除force的意思。
      rm 文件绝对路径包括名字和后缀//这个需要再次确认的

       rm -f 文件绝对路径包括名字和后缀 //这个不需要确认,直接删除
      
       rm -rf 文件夹的绝对路径//强制删除某一个文件夹
      
    • 文本内容的查看
      文本内容查看,这个有时会用得到,这个命令是cat,其实LLinux下有好多查看文本的命令,比如说用less more之类的也可以,甚至是用vi也可以。这里的话,给大家看一下,如何去查看已经连接的wifi密码:
      cat /data/misc/wifi/*.conf

    【文件操作】
    对于文件的操作,推入和拖出,就两个,一个是pull拉的意思,从android操作系统里头把文件拉出来,或者说拖出来。push是推的意思,也就是把文件从本地推送到android操作系统里头去。但是要注意的是,这是adb指令,不是android的shell指令哦,不需要进入到shell里头哈!

    • 把文件推入android操作系统
      adb pull 本地文件路径(可以直接拖过来) android系统内部路径

    • 把文件从android系统中拖出来
      adb pull android系统里目标文件/文件夹绝对路径 本地的绝对路径/当前路径

    【log文件的捕捉】
    对于log的捕捉,这里我不进行细分了,也不建议大家用这个指令去过滤日志之类的,因为有工具,为什么不使用工具呢,对吧!那么,这个命令什么时候用呢,一般是测试人员使用比如说,在测试之前进行捕捉log,这是必要的,比如说,我要知道前应用的包名是什么,当然啦,这个是妙用了。

    先看命令:

     adb logcat > 路径/test.log
    

    这里面这个指令是用捕捉log,并且把它输出到本地上。一般为了方便,我们就是放在当前路径的。怎么在当前文件夹或者路径下打开cmd命令行呢。按着键盘的shift键,然后右键---在当前目录下打开命令行。
    再举一个例子,找到当前运行程序的包名:
    步骤:
    把当前应用退到后台(按Home键)
    在命令行输入以下指令:

      adb logcat | grep START
    
    1. 打开目标应用就可以看到包名啦:

      【应用的操作】应用的操作,对于测试人员来说,是比较常用的命令了。我们除了需要对应用的安装之外,还需要对应用进行打开,清除内部的缓存(这个可以进设置里头删除,但是在做一些界面不太大的系统开发时,则不好操作了,比如说,我以前做智能手表系统开发的时候 ,经常要使用到这些指令)应用安装

    安装应用很简单,直接是adb install apk的绝对路径

     adb install apk的绝对路径
    

    应用启动

    应用的启动的话,需要指导主的activity哦,这个不一定是MainActivity的。这个时候 ,我们需要借助一下破解工具了。比如说,我们需要启动小米论坛的apk,那么,我们先破解这个应用的apk。结果如图:

    看吧,小米论坛的客户端apk就不是MainActivity启动的。那我们怎么启动它,当然啦,前提是先安装了哈!

      adb shell start -n com.xiaomi.bbs.activity.SplashActivity
    

    这样子的话,就会启动小米论坛客户端了。
    那我们怎么查看那个是主的Activity呢,这个很简单嘛,看配置文件就知道了!
    哪个Activity配置有:

      <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    

    那么它就是应用的入口啦!

    • 清除应用数据
      这里面的包名,可以通过破解的方法去获取,也可以通过前面的方法去获取,反正,获取包名的方法真的有很多的呢!

      adb shell pm clear 包名
      
    • 卸载应用
      adb都玩完了,是吧,呵呵!就算没完也够用了,到这里的 话,我们就以卸载应用来结束吧。指令请看:

      adb uninstall 包名
      

    这里的包名也一样,可以使用前面的方法哈,如果实在不会的,可以发帖子提问哈!知道的同学们,纷纷解答!

    【结语】
    到这这里的话,adb指令基本讲完了,如果大家觉得不懂的,可以去发帖子提问,或者去看视频练习,但是,一定要进行练习哈,看到的不是你的,是我的。你自己写出来的才是属于你自己的呢!!

    同时,也欢迎大家支持我们的网站,发表原创文章,有没有一种荣誉感呢!别人看你的哇!

    用到的工具或软件:请看原文啦!嘻嘻!
    http://bbs.sunofbeaches.com/thread-5992-1-1.html
    视频地址:
    http://study.163.com/u/4381854733

    相关文章

      网友评论

        本文标题:ADB看完这篇就够了for安卓开发/测试人员

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