zoukankan      html  css  js  c++  java
  • adb这点小事——远程adb调试

    欢迎转载。转载请注明:http://blog.csdn.net/zhgxhuaa

    1.   前言

    1.1.  写在前面的话

    在之前的一篇文章《360电视助手实现研究》中介绍了在局域网内直接通过adb安装应用,本文接下来继续介绍adb一点有意思的小东东。本系列之所以取名《adb的那点小事》是由于,仅仅想介绍一些有意思的并且平时大多数人关注不多的方面,类似于“adb原理、“adb怎样使用之类的老生常谈不在本文的介绍范围内。

    言归正传,本文介绍的内容是:在局域网内,假设进行adb远程调试,即:在没有数据线的情况下。怎样在局域网内使用adb开发。

    1.2.  本文的背景

    作为一名Android程序猿。每天接触最多的就是eclipseadb了。

    在开发的过程中,这几种场景我们应该并不陌生:

    A.        手机正在測试同学手中,可是我们想要抓log。那么接下来会有两种选择:

    a)         让測试的同学帮忙抓log。但可能抓不到自己想要的;

    b)         让測试同学把手机送过来,或者自己去取,但须要浪费至少10几分钟。

    B.        电脑连接一台刚才其它同学(开发或測试)手机拿过来的机器。那么接下来可能须要等待几分钟的时间来安装手机驱动。

    C.         长时间的使用,adb数据线损坏或者不太灵敏

    那么有没有一种好的办法能够解决上述问题呢?本文接下来将做一个探讨。

     

    2.   技术实现研究

    2.1.  远程调试的原理

    要了解为什么能够远程调试,首先还是要简单的说一下adb的原理。我们平时所说的adbAndroid中是被实现为一种C/S结构的。当中Server端被称为adbd,也即adb守护进程,该进程执行在手机中。对于C/S结构的命令的执行响应过程。大家应该都比較熟悉。不再做介绍。这里继续说一下adbdadbd提供了两种监听client请求的方式:USBTCP/IP。当中USB方式是系统的默认监听方式。

    所以,结合《360电视助手实现研究》中的介绍,接下来我们应该怎么做就比較明显了:

    1.         首先,设置手机的adbdTCP/IP方式;

    2.         其次,设置adbd监听某一特定的port;

    3.         最后,在远程(电脑上)通过adb connect连接到手机。

    通过以上三部。我们就能够远程adb调试和打印log了。

    接下来将介绍详细的实现,及须要注意的一些问题。

     

    2.2.  详细技术实现

    要实现adb远程调试,首先须要手机具有root权限。能够通过以下的代码进行简单的推断:

     

    在推断手机具有暂时root权限后,接下来就是设置adbd监听的port和重新启动adbd使port生效了,代码例如以下:

    在默认情况下adbd监听的port为“5555”。这里能够依据须要(比方5555是否被占用)进行改动。

     

    在完毕上一部的操作后,能够到手机设置->WLAN->当前正在使用的wifi热点的信息中查看IP信息。也能够通过以下的方法获取:

     

    接下来就能够在电脑上的cmd下通过“adb connect”连接刚才的IP。进行远程adb的调试了,假设成功会显示“connected to xxxxx”;连接失败则提示”unable to connect to xxxxx”,以下是我电脑操作的截图:

     

    最后,在远程调试完毕后,记得将手机adb恢复到usb模式:

     

    行,在这里,本文介绍了,有环境问题的讨论和交流。

    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    linux下面发布80端口的服务
    visio 安装
    SSH进行登录远程主机,实验室网站,项目
    论文遇到的问题
    ubuntu设置目录容量大小
    ubuntu 磁盘分区
    SpringBoot打成的jar包发布,shell关闭之后一直在服务器运行
    docker的安装,使用
    多线程下载文件,ftp文件服务器
    抖音红人,
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4644850.html
Copyright © 2011-2022 走看看