记录一下自己搭建Android手机的无线调试环境的一波三折!
ADB
安卓官网对此工具的介绍
Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:
客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
守护程序 (adbd) :用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。
adb
包含在 Android SDK 平台工具软件包中。您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在android_sdk/platform-tools/
下。或者,如果您需要独立的 Android SDK 平台工具软件包,也可以点击此处进行下载。
Android官网下载地址:SDK Platform Tools 版本说明
下载时选择最新版本即可,因为低版本的adb会导致设备离线,除了升级版本,随你怎么找其余解决方案应该都是无济于事的。。。(别问,问就是吃过亏!)
adb升级
网上说将下载的adb解压,将解压的文件夹platform-tools中的下面三个文件替换掉Android SDK\即platform-tools文件夹下的同名文件可。但是当时我的是没能ok的。
然后直接将platform-tools文件夹里面的所有文件替换也没能成功。😭
再然后添加环境变量。。。仍然不成功😭
再最后将图中三个文件复制一份到C:\Windows\System32里面就可以了。😄
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zJAzugfT-1655126235835)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e5f524de0fda439e8b778a2b82837649~tplv-k3u1fbpfcp-zoom-in-crop-mark:1956:0:0:0.image?)]
我之前的是1.0.26,是不成功的,具体哪个版本也不确定。
adb 的工作原理
当您启动某个 adb 客户端时,该客户端会先检查是否有 adb 服务器进程正在运行。如果没有,它会启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 adb 客户端发出的命令 - 所有 adb 客户端均通过端口 5037 与 adb 服务器通信。
然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 adb 守护程序 (adbd),便会与相应的端口建立连接。请注意,每个模拟器都使用一对按顺序排列的端口 - 用于控制台连接的偶数号端口和用于 adb 连接的奇数号端口。例如:
模拟器 1,控制台:5554 模拟器 1,adb:5555 模拟器 2,控制台:5556 模拟器 2,adb:5557 依此类推
如上所示,在端口 5555 处与 adb 连接的模拟器与控制台监听端口为 5554 的模拟器是同一个。
服务器与所有设备均建立连接后,您便可以使用 adb 命令访问这些设备。由于服务器管理与设备的连接,并处理来自多个 adb 客户端的命令,因此您可以从任意客户端(或从某个脚本)控制任意设备。[//]: # (引自Android官网)
来张图演示下就是:
adb命令简介
命令 | 简介 |
adb version | 查看adb版本信息 |
adb start-server | 启动adb服务进程 |
adb kill-server | 杀死adb服务进程。 |
adb usb | 切换到usb调试模式,通过usb数据线来通信。 |
adb tcpip 5555 | 让设备在 5555 端口监听 TCP/IP 连接。 |
adb connect ip | 连接指定的ip设备。 |
adb disconnect ip | 断开连接的ip设备。 |
adb shell | 进入Android(基于Linux)系统的shell。 |
exit | 退出Android(基于Linux)系统的shell。 |
setprop service.adb.tcp.port 5555 | 设置adb服务端口为5555, 打开adb网络调试功能。 |
setprop service.adb.tcp.port -1 | 表示打开adb的usb调试功能。 |
搭建步骤
前提:adb服务端(电脑)与Android设备处于统一局域网
1、打开手机的无线调试,位于设置—>开发者选项里面。开发者选项一般默认隐藏了,一般(我的)打开设置里面的关于手机—>然后猛戳版本号!或者设置—>高级设置—>开发者选项。找到无线调试,打开。
2、手机通过usb接入电脑,打开命令行,输入adb devices
查看当前usb设备(手机)是否在线。
3、设置设备的端口为5555
4、让设备监听5555端口的tcp连接
5、通过ip连接设备,ip是手机的ip,可以在wifi里面查看当前连接wifi的详细信息。
6、查看是否ok,ok就拔掉usb。
7、但是,不可以呢。。。😭
问题分析
沉下心来,分析分析。
操作系统一般不会有问题,有问题就起不来了。。。
adb软件应该也没问题!
AS依赖的是SDK中的adb,应该也没问题!
都没问题,那就应该是升级的问题了。升级时配置了环境变量都不行,这是不科学的,那么肯定还有什么遗漏的,并且执行是优于环境变量的。对,肯定是这样的,我太特么聪明了。我记得C:\Windows\System32里面将那三个核心文件复制进去就行了,但是似乎只是那里面那个adb软件成功连接手机了,而as所认识的那个软件并没有成功连接手机,所以在C盘搜索关键词adb,终于在C:\Windows里面找到了坏蛋所在。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v5YZPbOU-1655126235851)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/eaa2bb90f94d40b4b2c060d8a9123cab~tplv-k3u1fbpfcp-zoom-in-crop-mark:1956:0:0:0.image)] 在这个目录下打开命令行查看版本。
果然,接下来就是删掉他。连同C:\Windows\System32里面的一起删除,让其走环境变量指定的adb。再次查看版本。搞定,重复上述连接操作,再次实验。
验证:拔掉usb后只有一个无线的连接设备
再进入as查看,能找到设备,成功!
文末
如果要想成为Android架构师,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。
如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。
相对于我们平时看的碎片化内容,这份笔记的知识点更系统化,更容易理解和记忆,是严格按照知识体系编排的。
一、架构师筑基必备技能
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
……
二、Android百大框架源码解析
1.Retrofit 2.0源码解析
2.Okhttp3源码解析
3.ButterKnife源码解析
4.MPAndroidChart 源码解析
5.Glide源码解析
6.Leakcanary 源码解析
7.Universal-lmage-Loader源码解析
8.EventBus 3.0源码解析
9.zxing源码分析
10.Picasso源码解析
11.LottieAndroid使用详解及源码解析
12.Fresco 源码分析——图片加载流程
三、Android性能优化实战解析
- 腾讯Bugly:对字符串匹配算法的一点理解
- 爱奇艺:安卓APP崩溃捕获方案——xCrash
- 字节跳动:深入理解Gradle框架之一:Plugin, Extension, buildSrc
- 百度APP技术:Android H5首屏优化实践
- 支付宝客户端架构解析:Android 客户端启动速度优化之「垃圾回收」
- 携程:从智行 Android 项目看组件化架构实践
- 网易新闻构建优化:如何让你的构建速度“势如闪电”?
- …
四、高级kotlin强化实战
1、Kotlin入门教程
2、Kotlin 实战避坑指南
3、项目实战《Kotlin Jetpack 实战》
-
从一个膜拜大神的 Demo 开始
-
Kotlin 写 Gradle 脚本是一种什么体验?
-
Kotlin 编程的三重境界
-
Kotlin 高阶函数
-
Kotlin 泛型
-
Kotlin 扩展
-
Kotlin 委托
-
协程“不为人知”的调试技巧
-
图解协程:suspend
五、Android高级UI开源框架进阶解密
1.SmartRefreshLayout的使用
2.Android之PullToRefresh控件源码解析
3.Android-PullToRefresh下拉刷新库基本用法
4.LoadSir-高效易用的加载反馈页管理框架
5.Android通用LoadingView加载框架详解
6.MPAndroidChart实现LineChart(折线图)
7.hellocharts-android使用指南
8.SmartTable使用指南
9.开源项目android-uitableview介绍
10.ExcelPanel 使用指南
11.Android开源项目SlidingMenu深切解析
12.MaterialDrawer使用指南
六、NDK模块开发
1、NDK 模块开发
2、JNI 模块
3、Native 开发工具
4、Linux 编程
5、底层图片处理
6、音视频开发
7、机器学习
七、Flutter技术进阶
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter开发环境搭建和调试
5、Dart语法篇之基础语法(一)
6、Dart语法篇之集合的使用与源码解析(二)
7、Dart语法篇之集合操作符函数与源码分析(三)
…
八、微信小程序开发
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战……
全套视频资料:
一、面试合集
二、源码解析合集
三、开源框架合集
欢迎大家一键三连支持,若需要文中资料,直接点击文末CSDN官方认证微信卡片免费领取【保证100%免费】↓↓↓