如何跨互联网adb连接到远程手机-蓝牙电话集中维护
如何跨互联网adb连接到远程手机-蓝牙电话集中维护
--ADB连接专题
- 一、前言
随便找一个手机,安装一个App并简单设置一下,就可以跨互联网的ADB连接到这个手机,从而远程操控这个手机做各种操作。你敢相信吗?而这正是本篇想要描述的内容。
笔者根据前面编写的ADB连接专题的两个篇章中阐述的内容:
《ADB连接专题-本地手机如何被远程访问和文件上传下载操作》
《ADB连接专题-从零搭建一套远程手机的桌面操控和文件传输的小工具》
根据这两篇内容的原理,搭建了一个位于阿里云服务器的转发平台,将功能整合到了本系列主题的【智能拨号器App】当中。实现了随时用、随时开关ADB端口的能力。
我们在本篇章中将详细介绍如何通过往手机安装一个App,就能实现跨互联网ADB连接到手机并进行控制的详细步骤,有兴趣的读者可以跟随我们逐章节去探索和发现。
- 二、软硬件和App
要实现【跨互联网ADB连接手机】的功能,需要依赖的【硬件环境】如下:
- 一个安卓手机(作为ADB被控制端),提供ADB-Server给互联网远程访问。
- 一台Windows电脑,用于安装ADB客户端,根据暴露的公网ADB端口连接和访问被控手机。
- 一台安卓手机或虚拟机(非必需),用于发送指令,使被控手机暴露ADB端口到互联网,供外部ADB客户端进行远程访问。
部署和依赖的【软件与应用App】如下:
- 智能拨号器App,下载地址为:http://120.78.211.195:8060/Dialer.apk
- 拨号器管理App,下载地址为:http://120.78.211.195:8060/DialerManager.apk
- 手机开发者模式-USB调试,新手机需要操作者手动进入手机开发者模式并开启USB调试,然后插入电脑后运行adb tcpip 5555
![]() | ![]() |
- 三、运行智能拨号器App
点击手机中安装的【智能拨号器】桌面图标,进入智能拨号器App的登录界面。
账号输入:adb
密码输入:adb
点击【账号登录】按钮,进入主界面,如下图所示。若在这个过程中弹框授权,可以全部允许或直接忽略即可。(由于本篇章只使用远程ADB功能,不需要额外的权限)
![]() | ![]() |
- 四、获取手机远程ADB地址
在另外一个手机或电脑的虚拟机或刚刚的被控手机中,运行【拨号器管理】App。进入拨号器管理App的登录界面。
账号输入:adb
密码输入:adb
点击【账号登录】按钮,进入主界面,如下图所示。
![]() | ![]() |
点击主界面顶部的“在线设备(x)”的字样,进入在线设备统计界面。依次点击界面列表中要控制的目标手机(图示为【Letv 5G】手机),点击界面底部的【开启远程ADB】按钮,弹出“远程ADB地址”的对话框,如下图所示:
![]() | ![]() |
对话框中,正常显示的【adb connect 120.78.211.195:xxxx】即为该手机临时打开的“远程ADB连接”的公网地址和端口。操作人员可以直接点击【复制ADB】按钮或在电脑上直接输入该ADB连接字符串,即可远程连接到目标手机。
此远程ADB地址的对话框在关闭之前,会实时获取开放的端口的ADB使用情况,它的文字提示的状态共有4种,如下图所示:(ADB远程端口被消费后自动失效,需重新请求)
1)刚刚点击按钮,正在向目标手机下发指令,等待其连上阿里云服务器:
2)目标手机已连接上阿里云服务器,远程ADB端口已打开:
3)该互联网远程ADB端口已被ADB客户端连接上,且在连接和使用过程中:
4)该互联网远程ADB端口已被ADB客户端连接并adb disconnect断开后:
- 五、远程adb connect连接并使用
为目标手机打开了远程ADB连接端口后,下面的使用和操作,与常规的ADB操作安卓手机并无差异。操作人员可以简单的使用下述命令来进行应用和文件的操作:
使用【adb pull】来将目标手机上的文件拉取到本地电脑。
使用【adb push】来将电脑上的文件推送到目标手机。
使用【adb install -r -t xxx.apk】来将电脑上的apk安装包推送到目标手机上并安装。
ADB连接和命令操作的效果,如下图所示:
操作人员也可以通过在电脑中安装并使用【Scrcpy/QtScrcpy界面工具】操作手机。双击后会弹出新的界面框,显示本地手机当前的桌面界面。
远程操作人员可以直接在图中滑动和点击像操作本地放在电脑旁边的手机一样,操作远程的手机设备,如下图所示:
- 六、小结
文章中,我们通过搭建的位于阿里云服务器的转发平台,使世界上任意一个角落的手机,通过安装一个【智能拨号器】app,经过简单的设置后,就可以跨互联网的ADB连接到这个手机,从而远程操控这个手机做各种操作。
在实际使用过程中,这个功能有些时候还是能起到比较大的用处。
上一篇:从零搭建一套远程手机的桌面操控和文件传输的小工具
下一篇:手机app如何跳过无障碍权限实现弹框自动点击
相关文章:

如何跨互联网adb连接到远程手机-蓝牙电话集中维护
如何跨互联网adb连接到远程手机-蓝牙电话集中维护 --ADB连接专题 一、前言 随便找一个手机,安装一个App并简单设置一下,就可以跨互联网的ADB连接到这个手机,从而远程操控这个手机做各种操作。你敢相信吗?而这正是本篇想要描述的…...
flume和kafka整合 flume和kafka为什么一起用?
Flume和Kafka一起使用的主要原因是为了实现高效、可靠的数据采集和实时处理。12 实时流式日志处理的需求 Flume和Kafka结合使用的主要目的是为了完成实时流式的日志处理。Flume负责数据的采集和传输,而Kafka则作为消息缓存队列,能够有效地缓冲数据,防止数据堆积或丢…...
java.util.Random类(详细案例拆解)(已完结)
前言: 小编打算近期更俩三期类的专栏,一些常用的专集类,给大家分好类别总结和详细的代码举例解释。 今天是除夕,小编先祝贺大家除夕快乐啦!! 今天是第六个 java.lang.Math 包中的 java.util.Random类 我…...

Java后端之AOP
AOP:面向切面编程,本质是面向特定方法编程 引入依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency>示例:记录…...
【信息系统项目管理师-选择真题】2008上半年综合知识答案和详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7~8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16~20题】【第21题】【第22题】【第23题】【第24题】【第25题…...

go到底是什么意思:对go的猜测或断言
go这个单词,简单地讲,表示“走或去”的意思: go v.去;走 认真想想,go是一个非常神秘的单词,g-和o-这两个字母,为什么就会表达“去;走”的意思呢?它的字面义或本质&…...

零刻SER7接口及配置跑分
今天入手了一台迷你机-零刻SER7 ,不得不说这机身是真的小啊,相比于传统台式机,它几乎不占空间,可以轻松放置在桌面、电视柜甚至背包中,非常适合需要频繁移动或空间有限的用户。尽管体积小巧,但零刻SER7在性…...
【Java基础-41.5】深入解析Java异常链:构建清晰的错误追踪体系
在Java编程中,异常处理是保证程序健壮性和可维护性的重要部分。然而,在实际开发中,异常往往不是孤立发生的,而是由一系列相关的异常引发的。为了更好地理解和处理这种复杂的异常场景,Java引入了 异常链(Exc…...

【Python实现机器遗忘算法】复现2023年TNNLS期刊算法UNSIR
【Python实现机器遗忘算法】复现2023年TNNLS期刊算法UNSIR 1 算法原理 Tarun A K, Chundawat V S, Mandal M, et al. Fast yet effective machine unlearning[J]. IEEE Transactions on Neural Networks and Learning Systems, 2023. 本文提出了一种名为 UNSIR(Un…...

Object类(3)
大家好,今天继续给大家介绍一下object类中的方法,那么话不多说,来看。 hashcode()这个方法,帮我们算了一个具体的对象位置,这里面涉及到数据结构,简单认为它是个内存地址,然后调用Integer.toHexString ()将这个地址以16进制输出。 该方法是一…...
Zookeeper(32) Zookeeper的版本号(version)是什么?
在 Zookeeper 中,每个节点都有多个版本号(version),用于跟踪节点的状态变化。版本号帮助 Zookeeper 实现乐观并发控制,确保在并发环境中的数据一致性。主要的版本号包括: version:数据版本号&a…...

C# as 和 is 运算符区别和用法
前言 在C#中,as 和 is 关键字都用于处理类型转换的运算符,但它们有不同的用途和行为。本文我们将详细解释这两个运算符的区别和用法。 is 运算符 is 运算符用于检查对象是否是某个特定类型,或者是否可以转换为该类型。它返回一个布尔值 (t…...

求解旅行商问题的三种精确性建模方法,性能差距巨大
文章目录 旅行商问题介绍三种模型对比求解模型1决策变量目标函数约束条件Python代码 求解模型2决策变量目标函数约束条件Python代码 求解模型3决策变量目标函数约束条件Python代码 三个模型的优势与不足 旅行商问题介绍 旅行商问题 (Traveling Salesman Problem, TSP) 是一个经…...
SQL-leetcode—1193. 每月交易 I
1193. 每月交易 I 表:Transactions ---------------------- | Column Name | Type | ---------------------- | id | int | | country | varchar | | state | enum | | amount | int | | trans_date | date | ---------------------- id 是这个表的主键。 该表包含…...

【MySQL — 数据库增删改查操作】深入解析MySQL的 Retrieve 检索操作
Retrieve 检索 示例 1. 构造数据 创建表结构 create table exam1(id bigint, name varchar(20) comment同学姓名, Chinesedecimal(3,1) comment 语文成绩, Math decimal(3,1) comment 数学成绩, English decimal(3,1) comment 英语成绩 ); 插入测试数据 insert into ex…...

项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(九)(完结篇)
文章目录 一、成绩查询模块实现1、学生成绩查询功能实现1.1 页面设计1.2 前端页面实现1.3 后端功能实现2、成绩分段查询功能实现2.1 页面设计2.2 前端页面实现2.3 后端功能实现二、试卷练习模块实现三、我的分数模块实现1、 页面设计2、 前端页面实现3、 后端功能实现四、交流区…...

离散 VS 流程制造,制造业的 “双生花” 如何绽放
在制造业中,我们常看到两种不同生产景象:有的企业生产一气呵成,有的则由众多环节组合。 这源于离散制造和流程制造两种常见生产模式。它们在生产管理上特点与区别明显。 下面,我们从概念、特点、企业生产管理方式,以…...
freeswtch目录下modules.conf各个模块的介绍【freeswitch版本1.6.8】
应用模块(applications) mod_abstraction: 为其他模块提供抽象层,有助于简化模块开发,让开发者能在统一框架下开发新功能,减少与底层系统的直接交互,提高代码可移植性和可维护性。 mod_av&#…...

循序渐进kubernetes-RBAC(Role-Based Access Control)
文章目录 概要Kubernetes API了解 Kubernetes 中的 RBACRoles and Role Bindings:ClusterRoles and ClusterRoleBindings检查访问权限:外部用户结论 概要 Kubernetes 是容器化应用的强大引擎,但仅仅关注部署和扩展远远不够,集群的安全同样至…...

第3章 基于三电平空间矢量的中点电位平衡策略
0 前言 在NPC型三电平逆变器的直流侧串联有两组参数规格完全一致的电解电容,由于三电平特殊的中点钳位结构,在进行SVPWM控制时,在一个完整开关周期内,直流侧电容C1、C2充放电不均匀,各自存储的总电荷不同,电容电压便不均等,存在一定的偏差。在不进行控制的情况下,系统无…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...

Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

网页端 js 读取发票里的二维码信息(图片和PDF格式)
起因 为了实现在报销流程中,发票不能重用的限制,发票上传后,希望能读出发票号,并记录发票号已用,下次不再可用于报销。 基于上面的需求,研究了OCR 的方式和读PDF的方式,实际是可行的ÿ…...