美文网首页Android开发随笔技术宅android
Android通过Wifi来调试应用(win7版+局域网版)

Android通过Wifi来调试应用(win7版+局域网版)

作者: 肉团先生 | 来源:发表于2015-02-02 10:20 被阅读4926次

    Android通过Wifi来调试应用(win7版+局域网版)

    我两部手机,一部开发者选项没有网络ADB试调,一部有网络ADB调试

    前提:杀死使用ADB的程序,同一个局域网

    • 手机和电脑在同一个局域网
    • 断掉并杀死所有电脑程序能自动检测连接手机的,会提示要你装应用,帮你手机清理等等。因为,这些程序,原理就是通过ADB来进行连接,而我们将要通过ADB来完成效果。我就开着酷狗听歌,导致一直实现不成功,正是纳闷,后面想了下,才知道是这个原因。

    开发者选项没有网络ADB调试的系统

    • 1.手机连接电脑,并且手机启用usb调试的模式,跟平常使用usb调试程序一样的步骤。
    • 2.进入android-sdk的文件夹,就是平时要你重启adb的地方,即:platform-tools,我的地址为

    d/adt-bundle-windows-x86_64-20131030/sdk/platform-tools

    • 3.打开命令行(win+r,输入cmd)

    adb tcpip 5555
    以上这一句话的意思是adbusb模式转化成adb网络模式(wifi
    命令行相应出现:restarting in TCP mode port: 5555,代表执行成功
    你会发现,手机顶端不在出现原先有的图标

    • 4.使电脑连接手机的wifi的地址

    打开手机连接wifi的地方,并得到wifi的地址。我的为:192.168.1.129
    接着在上次一个步骤的命令行中输入
    adb connect 192.168.1.129
    出现:connected to 192.168.1.129:5555 代表执行成功

    • 5.现在你可以断开usb线了(其实在第三步后,就可以断开了),然后像往常run一个应用程序,即可。
    Paste_Image.png
    • 6.此时你的usb对于此手机已经作废,那么如何变成usb试调模式呢?也就是还原呢。
      很简单,usb数据线连接,在同一个命令行。输入

    adb usb
    出现:restarting in USB mode 说明成功。
    还原原来的状态。

    开发者选项有网络ADB调试的系统

    • 开发者选项没有网络ADB调试的系统一样的操作。你会发现

    adb tcpip 5555
    error: more than one device and emulator

    adb connect 192.168.1.106
    unable to connect to 192.168.1.106:5555

    • 原因是你没有启动网络ADB调试。启动网络ADB调试,再试一遍即可。

    adb tcpip 5555
    restarting in TCP mode port: 5555

    adb connect 192.168.1.106
    connected to 192.168.1.106:5555

    • 最后,不必使用adb usb将模式调回来,只需要关掉网络ADB调试即可。

    错误

    adb tcpip 5555
    error:

    adb connect 192.168.1.106
    error:

    这些情况是adb被占用了,你需要将他杀掉,然后重启

    adb.exe kill-server
    adb start-server

    或者,情况比较悲剧,你的android系统没有安装一些必要的属性。下载msysgit,这个有什么好处呢?能用git,另外是能执行一些linux的命令来运行Linux shell。然后运行脚本来配置属性

    脚本内容

    E盘新建一个文件命名为adbTowifi.sh

    #!/bin/bash
       
    #Modify this with your IP range
    #这里的ip要注意,我的是MY_IP_RANGE="192\.168\.1",这里要看你的具体ip地址决定
    MY_IP_RANGE="192\.168\.43"
    
    #You usually wouldn't have to modify this
    PORT_BASE=5555
    
    #List the devices on the screen for your viewing pleasure
    adb devices
    echo
    
    #Find USB devices only (no emulators, genymotion or connected devices
    declare -a deviceArray=(`adb devices -l | grep -v emulator | grep -v vbox | grep -v "${MY_IP_RANGE}" | grep " device " | awk '{print $1}'`)  
    
    echo "found ${#deviceArray[@]} device(s)"
    echo
    
    for index in ${!deviceArray[*]}
    do
    echo "finding IP address for device ${deviceArray[index]}"
    IP_ADDRESS=$(adb -s ${deviceArray[index]} shell ifconfig wlan0 | awk '{print $3}')
    
    echo "IP address found : $IP_ADDRESS "
    
    echo "Connecting..."
    adb -s ${deviceArray[index]} tcpip $(($PORT_BASE + $index))
    adb -s ${deviceArray[index]} connect "$IP_ADDRESS:$(($PORT_BASE + $index))"
    
    echo
    echo
    done
    
    adb devices -l
    #exit
    

    E盘,鼠标右键打开Git Bash here,然后输入

    sh adbwifi.sh

    出现以下效果:

    Paste_Image.png

    说明已经成功,这时你需要重复步骤进行配置就可以了。

    参考资料

    Android_ADB_通过WIFI或USB方式完成调试

    相关文章

      网友评论

      • hoyouly:我是在Cygwin 运行的脚本命令sh adbwifi.sh ,也出现你最后一张图片的效果了,可是为什么我拔了数据线之后,运行 adb devices
        没有发现到任何设备啊 就只出现了 这句
        List of devices attached

        这是怎么回事啊
      • 肉团先生: @Tikitoo 嗯嗯,有软件,实现非局域网的,不过,没实战过
      • granton_zhuang:帮作者补充一下:
        adb查看已连接的设备:
        adb devices。
        :heart:
      • granton_zhuang:windows:
        在系统变量中加入:
        name:Android
        key:D:\Program Files (x86)\adt\sdk\platform-tools;D:\Program Files (x86)\adt\sdk\tools;
        //adb.exe的地址和tools的地址。
        然后把Android加入PATH中。
        这样子在CMD中使用ADB就不用cd目录了。
      • Tikitoo:其实手机直接安装一个WIFI ADB,就解决了,在电脑上打开命令行,adb connect ip:port(例如:192.168.11.1:5555)

      本文标题:Android通过Wifi来调试应用(win7版+局域网版)

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