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模式:

     

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

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

  • 相关阅读:
    hdu 5101 Select
    hdu 5100 Chessboard
    cf B. I.O.U.
    cf C. Inna and Dima
    cf B. Inna and Nine
    cf C. Counting Kangaroos is Fun
    Radar Installation 贪心
    spfa模板
    Sequence
    棋盘问题
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4644850.html
Copyright © 2011-2022 走看看