如何用adb连接android手机

以下为手机“root”情况下操作。。。。手机没root请拉到笔记最后,有解决方法

利用adb来连接手机, 有两种方式:

  1. wifi
  2. usb

通过wifi, 利用adb来连接手机。

在pc的cmd中输入命令 adb connect 192.168.1.100

其中 192.168.1.100 就是手机局域网的ip. 如果连接成功, 就可以进入android的shell了。

我自己在操作过程中,pc能ping通过手机,但是adb连接手机,出现了一点点问题,提示unable to connect to 192.168.1.100:5555,这个是什么原因呢?原来手机的默认adb服务是没有打开的,否则,别人adb能随便连,那岂不是很不安全么?所以,我们要想办法把手机上的adb服务打开。怎么搞呢?首先要在手机上下载一个android模拟器(当然,如果你有,就不用下载了),然后切到root权限,并执行如下命令打开adb服务:

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

然后adb就可以连接手机了, 如图:

以下为非root手机环境下操作:

  1. 确保PC正确安装了ADB驱动并且能够识别你的Android设备 。
  2. Android设备USB调试模式已打开
  3. 用USB数据线将PC与设备相连接
  4. 在android-sdk\platform-tools\该路径下打开命令行
  5. 执行以下命令:
    adb kill-server
    adb start-server
    adb tcpip 5555
    adb connect xxx.xxx.xxx.xxx:5555

其中xxx.xxx.xxx.xxx为你手机的无线局域网的ip地址,显示连接成功之后拔掉数据线即可。


简介

在默认情况下adb是通过USB连接的,但是adb也支持通过wifi连接,前提是使用adb命令的电脑终端与待调试的手机在同一网段下。这样,在没有usb或者远程下都可以完成调试手机。但是手机的调试模式改为wifi后,手机连接usb就会无效,包括充电。可以将手机在wifi下切回USB即可。

连接USB线转为WIFI(前提adb通过usb连接)

在命令行中执行
adb tcpip 5555
//可以断开USB线,此时会发现usb充电无显示,连接数据线已无效。
//连接wifi
adb connect android设备IP地址(如:adb connect 192.168.43.144)
//断开wifi
adb disconnect
//WIIF转为USB(前提adb通wifi连接)
adb usb
//此时USB数据线可以正常使用。

adb无连接到WIFI

//需要取得超级管理员权限执行su,再执行
setprop service.adb.tcp.port 5555
stop adbd
start adbd
//连接wifi
adb connect android设备IP地址(如:adb connect 192.168.43.144)

adb无连接到USB

//需要取得超级管理员权限执行su,再执行
setprop service.adb.tcp.port -1
stop adbd
start adbd

脚本切换

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

#!/bin/bash
#Modify this with your IP range
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 //以上脚本文件,mac或者Linux直接可以运行,windows上需要安装一些如msysgit或者Cygwin才可运行以上Linux shell //前提需要usb连接adb,待执行玩命令后,可以拔掉usb数据线,此时手机切换至wifi连接,待连接上wifi后,如切回至usb,使用adb usb或者重启设备即可
sh adbTowifi.sh

如何用adb连接android手机的更多相关文章

  1. 如何用Adb连接Android手机 & unable to connect to 192.168.1.100:5555的原因和解决方法

    利用adb来连接手机, 有两种方式: 1, wifi 2, usb. 1. 通过wifi, 利用adb来连接手机. 在pc的cmd中输入命令: adb connect 192.168.1.100 其中 ...

  2. Ubuntu使用adb连接android手机失败unknown的解决的方法

    Ubuntu使用adb连接android手机失败unknown的解决的方法   Ubuntu下通过USB数据线连接G11手机后,adb可能无法识别到设备.依照一下步骤能够解决此问题. 1.在termi ...

  3. linux下使用adb连接android手机

    一.新建文件 cat /etc/udev/rules.d/51-android.rules SUBSYSTEM==" 二.重启 udev sudo /etc/init.d/udev rest ...

  4. (转载)Mac系统下利用ADB命令连接android手机并进行文件操作

    Mac系统下利用ADB命令连接android手机并进行文件操作 标签: Mac adb android 2016-03-14 10:09 5470人阅读 评论(1) 收藏 举报  分类: Androi ...

  5. adb无线连接android手机进行调式,无需获得root权限

    利用adb无线连接android手机进行调式 无需获得root权限 转载来自CSDN  https://blog.csdn.net/lnking1992/article/details/5346518 ...

  6. Pyqt adb 获取Android手机屏幕

    adb的全称为Android Debug Bridge,就是起到调试桥的作用.adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会da ...

  7. ubuntu下USB连接Android手机

    初始工作:将Android手机通过usb连接到电脑,之后点击VM-Removable Devices-google Android - Connect,即可. 若通过usb连接到电脑,Removabl ...

  8. mac 无法连接android手机进行调试 解决方案

    第一步: 查看usb设备信息 在 终端输入:system_profiler SPUSBDataType     可以查看连接的usb设备的信息 比如我的usb信息如下(部分内容): Android: ...

  9. ubuntu16.04连接android手机蓝牙共享网络热点

    最近的想要用android手机蓝牙共享wifi网络给ubuntu16.04系统用,查了好多资料,发现网上很少有有用的.自己实践后分享如下. 第一步:手机与电脑配对:         该步骤比较简单,网 ...

  10. Ubuntu杂记——Ubuntu下以USB方式连接Android手机调试

    在Ubuntu下进行Android开发,发现自己的手机就算打开USB连接.USB调试还是连不上,一直都是显示??????.百度了很多,发现都是要改“ /etc/udev/rules.d/50-andr ...

随机推荐

  1. [C#]C++/CLI中^的含义

    例子 // here normal pointer P* ptr = new P; // usual pointer allocated on heap P& nat = *ptr; // o ...

  2. [深度探索C++对象模型]memcpy和memset注意事项

    不管使用memcpy()还是memset(),都只有在"classes不含任何由编译器产生的内部members"时才能运行.如果这个类声明一个或者一个以上的virtual func ...

  3. uniapp如何打包wgt格式

    打包 build 首次打包,需要配置AppId 登录dcloud开发者中心 点击直达 创建应用 将生成的AppId配置到项目manifest.json中 开始打包 打包成功

  4. flutter报错The type of the function literal can't be inferred because the literal has a block as its body.A value of type 'String?' can't be assigned to a variable of type 'String'.

    flutter有一些报错如下 The type of the function literal can't be inferred because the literal has a block as ...

  5. (原创)【B4A】一步一步入门01:简介、开发环境搭建、HelloWorld

    一.前言 作者注:絮絮叨叨,可跳过不看. 一直有开发跨平台软件的需求.因为我的主力是C# ,所以当MAUI出现后,我欣喜若狂的开始学习研究.但是经历了两个月左右的时间,我弃坑了,我发现MAUI不是我能 ...

  6. 递归概念&分类&注意事项

    递归概念&分类&注意事项 概念 递归:指在当前方法内调用自己的这种现象. 递归的分类:.递归分为两种,直接递归和间接递归..直接递归称为方法自身调用自己..间接递归可以A方法调用B方法 ...

  7. CSS-@规则(At-rules)常用语法使用总结

    At-rules规则是目前CSS中一种常见的语法规则,它使用一个"@"符号加一个关键词定义,后面跟上语法区块,如果没有则以分号结束即可. 这种规则一般用于标识文档.引入外部样式.条 ...

  8. 手动计算ROC-AUC

    ROC(全称为Receiver operating characteristic,意为受试者特征曲线)是一个二维平面空间中一条曲线,而AUC则是曲线下方面积(Area Under Curve)的计算结 ...

  9. FAQ os.system调用失效问题

    os.system调用失效问题 背景 有个学员反馈allure无法生成报告 # 示例代码 import pytest,os def test_os(): pass if __name__ == '__ ...

  10. 插入排序(CSP-J 2021 T2)我有新思路了,链接:https://www.cnblogs.com/wjk53233/p/16533752.html

    我有新思路了,链接:https://www.cnblogs.com/wjk53233/p/16533752.html 我有新思路了,链接:https://www.cnblogs.com/wjk5323 ...