当前位置: 首页 > news >正文

如何跨互联网adb连接到远程手机-蓝牙电话集中维护

如何跨互联网adb连接到远程手机-蓝牙电话集中维护

--ADB连接专题

  • 一、前言

随便找一个手机,安装一个App并简单设置一下,就可以跨互联网的ADB连接到这个手机,从而远程操控这个手机做各种操作。你敢相信吗?而这正是本篇想要描述的内容。

笔者根据前面编写的ADB连接专题的两个篇章中阐述的内容:

《ADB连接专题-本地手机如何被远程访问和文件上传下载操作》

《ADB连接专题-从零搭建一套远程手机的桌面操控和文件传输的小工具》

根据这两篇内容的原理,搭建了一个位于阿里云服务器的转发平台,将功能整合到了本系列主题的【智能拨号器App】当中。实现了随时用、随时开关ADB端口的能力。

我们在本篇章中将详细介绍如何通过往手机安装一个App,就能实现跨互联网ADB连接到手机并进行控制的详细步骤,有兴趣的读者可以跟随我们逐章节去探索和发现。

  • 二、软硬件和App

要实现【跨互联网ADB连接手机】的功能,需要依赖的【硬件环境】如下:

  1. 一个安卓手机(作为ADB被控制端),提供ADB-Server给互联网远程访问。
  2. 一台Windows电脑,用于安装ADB客户端,根据暴露的公网ADB端口连接和访问被控手机。
  3. 一台安卓手机或虚拟机(非必需),用于发送指令,使被控手机暴露ADB端口到互联网,供外部ADB客户端进行远程访问。

部署和依赖的【软件与应用App】如下:

  1. 智能拨号器App,下载地址为:http://120.78.211.195:8060/Dialer.apk
  2. 拨号器管理App,下载地址为:http://120.78.211.195:8060/DialerManager.apk
  3. 手机开发者模式-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连接到这个手机,从而远程操控这个手机做各种操作。你敢相信吗?而这正是本篇想要描述的…...

MySQL--》深度解析InnoDB引擎的存储与事务机制

目录 InnoDB架构 事务原理 MVCC InnoDB架构 从MySQL5.5版本开始默认使用InnoDB存储引擎,它擅长进行事务处理,具有崩溃恢复的特性,在日常开发中使用非常广泛,其逻辑存储结构图如下所示, 下面是InnoDB架构图&#xf…...

python:taichi 模拟一维波场

在 Taichi 中模拟一维波场,通常是利用 Taichi 编程语言的特性来对一维空间中的波动现象进行数值模拟,以下是相关介绍: 原理基础 波动方程:一维波动方程的一般形式为 ,其中 u(x,t) 表示在位置x 和时间t 处的波的状态&…...

力扣【347. 前 K 个高频元素】Java题解(堆)

TopK问题,我们直接上堆。 首先遍历一次然后把各个数字的出现频率存放在哈希表中便于后面堆的操作。 因为是出现频率前 k 高,所以用小顶堆,当我们遍历的频率值大于堆顶值时就可以替换堆顶。 代码: class Solution {public int[] …...

仿12306项目选座购票业务逻辑

12306项目选座购票业务逻辑 文章目录 12306项目选座购票业务逻辑项目分享选座逻辑购票逻辑更新余票逻辑用户选座功能服务器售票功能0. 业务数据校验1. 保存确认订单表,状态初始化2. 查出余票记录,需要得到真是的库存3. 扣减余票数量,并判断余…...

2024年面对不确定性

24年处在了十字路口,面对工作、家庭、生活的责任,一切变得不确定了,量子力学给了我们新的认识世界的角度,不确定性才是这个世界的底色,我们怎么选择? 不停的思考 霍金在大设计书中给出了深刻的哲学思想&a…...

Nginx的负载均衡

一、概述 Nginx负载均衡是一种通过将客户端请求分发到多个后端服务器的技术,旨在提高系统的吞吐量、可用性和容错性。 二、Nginx负载均衡工作原理 Nginx作为反向代理服务器,接收客户端的请求,并根据配置的负载均衡算法将请求转发到后端服务…...

vue3组件el-table报错

传给table标签的data不是数组就会报错, 摁着商品管理代码找了半天也没发现哪里错了,而且关闭报错表格数据能正常显示, 。。。 最后发现我还有个订单管理页面,这里面的data初始化成ref( )了,把这个组件注释掉&#xf…...

天聚地合:引领API数据流通服务,助力数字经济发展

天聚地合:引领API数据流通服务,助力数字经济发展 爱企猫01月24日消息:天聚地合(苏州)科技股份有限公司,成立于2010年,总部位于苏州,是一家综合性API数据流通服务商。公司旗下品牌‘聚合数据’已开发超过790个API,服务百万企业级客…...

AIGC的企业级解决方案架构及成本效益分析

AIGC的企业级解决方案架构及成本效益分析 一,企业级解决方案架构 AIGC(人工智能生成内容)的企业级解决方案架构是一个多层次、多维度的复杂系统,旨在帮助企业实现智能化转型和业务创新。以下是总结的企业级AIGC解决方案架构的主要组成部分: 1. 技术架构 企业级AIGC解决方…...

企业知识管理平台的对比分析与优化策略探讨

内容概要 随着信息技术的飞速发展,企业对知识管理的重视程度日益提高。知识管理不仅有助于知识的积累和传承,更在于提升企业整体运营效率和创新能力。为此,众多企业纷纷引入知识管理平台,以便更好地管理和利用其内部知识资源。 …...

分布式数据库与集中式数据库

分布式数据库 分布式数据库是在集中式数据库系统的基础上发展起来的,由多个相互连接并分布在不同物理位置的数据库组成。因此,可以独立于其他物理位置来管理存储在各个物理位置上的数据。因此,在不同物理位置的数据库之间的通信是由计算机网…...

STM32 OLED屏配置

1.OLED简介 OLED(Organic Light Emitting Diode):有机发光二极管 OLED显示屏:性能优异的新型显示屏,具有功耗低、相应速度快、宽视角、轻薄柔韧等特点 0.96寸OLED模块:小巧玲珑、占用接口少、简单易用&a…...

Spring Boot - 数据库集成04 - 集成Redis

Spring boot集成Redis 文章目录 Spring boot集成Redis一:redis基本集成1:RedisTemplate Jedis1.1:RedisTemplate1.2:实现案例1.2.1:依赖引入和属性配置1.2.2:redisConfig配置1.2.3:基础使用 2&…...

Day47:遍历元组

元组是 Python 中的一种有序集合类型,类似于列表,但与列表不同的是,元组是不可变的。这使得元组的元素一旦创建就不能更改。尽管元组是不可变的,我们仍然可以使用循环结构来遍历元组中的元素。 今天我们将学习如何遍历元组中的元…...

【PoCL】项目源码编译

PoCL 项目链接 本博文主要介绍了源码编译llvm和PoCL的过程 目录 0. 个人简介 && 授权须知1. 项目介绍2. 项目依赖3. 源码编译3.1 编译 LLVM 工程3.2 编译PoCL 工程 0. 个人简介 && 授权须知 📋 个人简介 💖 作者简介:大家好&…...

【数据分享】1929-2024年全球站点的逐月平均能见度(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标!说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 有关气象指标的监测站点数据,之前我们分享过1929-2024年全球气象站点…...

免费GPU算力,不花钱部署DeepSeek-R1

在人工智能和大模型技术飞速发展的今天,越来越多的开发者和研究者希望能够亲自体验和微调大模型,以便更好地理解和应用这些先进的技术。然而,高昂的GPU算力成本往往成为了阻碍大家探索的瓶颈。幸运的是,腾讯云Cloud Studio提供了免…...

C语言的灵魂——指针(1)

指针是C语言的灵魂,有了指针C语言才能完成一些复杂的程序;没了指针就相当于C语言最精髓的部分被去掉了,可见指针是多么重要。废话不多讲我们直接开始。 指针 一,内存和地址二,编址三,指针变量和地址1&#…...

2000-2020年各省第三产业增加值占GDP比重数据

2000-2020年各省第三产业增加值占GDP比重数据 1、时间:2000-2020年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区名称、年份、第三产业增加值占GDP比重 4、范围:31省 5、指标解释:第三产业增加值占G…...

Linux MySQL离线安装

一、准备工作 1. 下载MySQL安装包 访问MySQL官方网站,选择适合您Linux系统的MySQL版本进行下载。通常推荐下载Generic Linux (glibc 2.12)版本的.tar.gz压缩包,例如mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz。将下载好的安装包拷贝到Linux服务器的某…...

ESP32服务器和PC客户端的Wi-Fi通信

ESP32客户端-服务器Wi-Fi通信 本指南将向您展示如何设置ESP32板作为服务端,PC作为客户端,通过HTTP通信,以通过Wi-Fi(无需路由器或互联网连接)交换数据。简而言之,您将学习如何使用HTTP请求将一个板的数据发…...

Linux文件权限

目录 1.Linux权限管理 1.1文件访问者的分类 1.2文件的类型和访问权限 1)文件类型 2)文件访问权限 3)chmod指令 4)chown指令 ​编辑 5)chgrp命令 1.3目录权限 1.4粘滞位 1.5umask(权限掩码&…...

UE骨骼模拟物理

此功能可以制作仿动物派对上半身模拟物理效果 Set all bodies below simulate physics 骨骼名称设置为 spine_01 这样上半身所有骨骼都会模拟物理 效果演示...

salesforce中如何获取一个profile的18位id

在 Salesforce 中,要获取一个 Profile 的 18 位 ID,可以通过以下几种方式实现: 方法 1:通过 Developer Console 登录 Salesforce。 点击右上角的 头像 或 设置齿轮,选择 “开发者控制台”(Developer Conso…...

为什么机器学习中梯度下降是减去斜率,而不是按照其数学意义减去斜率的倒数

做个简单假设,Loss函数的某一个参数的函数曲线是二次方程,其导数函数为 r 2 ∗ w r 2*w r2∗w 按照斜率意义来看,要减去斜率倒数 降低LOSS需要将w1更新为w2,所以更新公式为 w w − Δ L Δ w w w - \frac{\Delta L}{\Delta w…...

Vue 3 30天精进之旅:Day 04 - 计算属性与侦听器

引言 在前几天的学习中,我们已经了解了Vue实例的基本概念和使用方法。今天,我们将深入探讨两个重要的特性:计算属性(computed properties)和侦听器(watchers)。这两个特性使得我们能够更高效地…...

UE学习日志#11GAS--ASC源码简要分析9 AbilitySystemGlobals分析2 初始化相关

1 static UAbilitySystemGlobals& Get() 保证了是单例,IGameplayAbilitiesModule继承了IModuleInterface /** Gets the single instance of the globals object, will create it as necessary */static UAbilitySystemGlobals& Get(){return *IGameplayAbi…...

SQL在DBA手里-改写篇

背景 最近运营需要做月报汇总交易情况,之前一直是他们手工出的数据,他们想做成月初自动发送邮件,从而减轻他们的工作量。于是他们提供SQL我们在邮件服务器配置做定时发送任务。 表介绍(表及字段已做脱敏处理) trans…...

SQL Server查询计划操作符(7.3)——查询计划相关操作符(5)

7.3. 查询计划相关操作符 38)Flow Distinct:该操作符扫描其输入并对其去重。该操作符从其输入得到每行数据时即将其返回(除非其为重复数据行,此时,该数据行会被抛弃),而Distinct操作符在产生任何输出前将消费所有输入。该操作符为逻辑操作符。该操作符具体如图7.2-38中…...

Autogen_core:Agent and Agent Runtime

目录 1. 代码2. 代码解释第一部分:定义消息类型和代理第二部分:定义助手代理第三部分:注册和运行代理第四部分:发送和停止消息处理总结 3. 类似的例子 1. 代码 from dataclasses import dataclassfrom autogen_core import Agent…...

vue(33) : 安装组件出错解决

1. request to https://registry.npm.taobao.org/semver/download/semver-6.1.1.tgz?cache0&other_urlshttps%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.1.1.tgz failed, reason: certificate has expired 这个错误提示表明你在尝试从https://reg…...

论文阅读(五):乳腺癌中的高斯图模型和扩展网络推理

1.论文链接:Network Inference in Breast Cancer with Gaussian Graphical Models and Extensions 摘要: 具有高相关性的聚类基因将具有接近表达谱的基因分组,确定共表达基因的聚类。然而,这种相关性并没有提供任何关于基因间信息…...

定时器按键tim_key模版

低优先级放在高优先级内势必是程序卡死 把高优先级放到低优先级内,会使程序卡死 可修改 Debuger调试方法 Pwm rcc #include "my_main.h" uint8_t led_sta0x10; char text[30]; void LED_Disp(uint8_t dsLED) {HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,GPI…...

Effective Objective-C 2.0 读书笔记—— objc_msgSend

Effective Objective-C 2.0 读书笔记—— objc_msgSend 文章目录 Effective Objective-C 2.0 读书笔记—— objc_msgSend引入——静态绑定和动态绑定OC之中动态绑定的实现方法签名方法列表 其他方法objc_msgSend_stretobjc_msgSend_fpretobjc_msgSendSuper 尾调用优化总结参考文…...

机器学习 vs 深度学习

目录 一、机器学习 1、实现原理 2、实施方法 二、深度学习 1、与机器学习的联系与区别 2、神经网络的历史发展 3、神经网络的基本概念 一、机器学习 1、实现原理 训练(归纳)和预测(演绎) 归纳: 从具体案例中抽象一般规律…...

Vue中的动态组件是什么?如何动态切换组件?

什么是动态组件? 动态组件是 Vue.js 中的一项强大功能,它允许开发者根据程序的状态或用户的操作,动态地切换组件。动态组件的优势在于,开发者可以根据具体需求灵活地渲染不同的组件,从而提高应用的通用性和可维护性。…...

Spring IoC DI

目录 一. IoC & DI 入门 1. 重谈Spring 2. 容器 3. IoC ① 传统程序开发 ② IoC 程序开发 ③ IoC 的优势 4. DI 3. IoC & DI 使用 二. IoC & DI 详解 1. Bean的存储 2. Bean的重命名 3. 扫描路径 三. DI 详解 1. 属性注入 2. 构造方法注入 3. Se…...

【Linux】线程、线程控制、地址空间布局

⭐️个人主页:小羊 ⭐️所属专栏:Linux 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 1、Linux线程1.1 线程的优缺点1.2 线程异常和用途1.3 线程等待1.3 线程终止1.4 线程分离1.5 线程ID和地址空间布局1.6 线程栈 1、…...

【记录】日常|从零散记录到博客之星Top300的成长之路

文章目录 shandianchengzi 2024 年度盘点概述写作风格简介2024年的创作内容总结 shandianchengzi 2024 年度盘点 概述 2024年及2025年至今我创作了786即84篇文章,加上这篇就是85篇。 很荣幸这次居然能够入选博客之星Top300,这个排名在我之前的所有年份…...

网盘资源查找工具---AI功能

01 软件介绍 这是一款融入了ai技术的网盘搜索神器,可以让你更快,更精准的找到自己需要的文件,不管你是找影视,音乐,还是找软件或者学习资料都可以,欢迎前来使用。 02 功能展示 该软件非常简洁&#xff…...

LWJGL轻量级Java游戏库

LWJGL - Lightweight Java Game Library 基本介绍 LWJGL是一个Java库,它支持跨平台访问流行的本地api,这些api在图形(OpenGL, Vulkan)、音频(OpenAL)和并行计算(OpenCL)应用程序的…...

AI智能日志分析系统

文章目录 1.combinations-intelligent-analysis-starter1.目录结构2.pom.xml3.自动配置1.IntelligentAnalysisAutoConfiguration.java2.spring.factories 2.combinations-intelligent-analysis-starter-demo1.目录结构2.pom.xml3.application.yml4.IntelligentAnalysisApplicat…...

详解三种常用标准化:Batch Norm、Layer Norm和RMSNorm

在深度学习中,标准化技术是提升模型训练速度、稳定性和性能的重要手段。本文将详细介绍三种常用的标准化方法:Batch Normalization(批量标准化)、Layer Normalization(层标准化)和 RMS Normalization&#…...

数据压缩算法-差分编码(Delta Encoding)

Delta Encoding(差分编码)是一种数据压缩技术,其核心思想是存储数据之间的差异(delta),而不是原始数据本身。这种方法特别适用于数据序列中相邻元素之间变化较小的情况,可以显著减少存储空间或传…...

Nginx中部署多个前端项目

1,准备前端项目 tlias系统的前端资源 外卖项目的前端资源 2,nginx里面的html文件夹中新建,tlias和sky两个文件夹。 切记这是在nginx/html下创建的 mkdir sky mkdir tlias 把tlias和sky的资源都放到对应的文件夹中 3,编辑配置ngi…...

Level DB --- TableBuilder

TableBuilder是Level DB里面重要的类和模块,它描述了数据如何序列化到文件中,以及数据里面的格式逻辑。它里面包含了之前介绍的多个模块和类。 data block、filter block和index block block格式,之前已经介绍过Level DB --- BlockBuilder-…...

JVM堆空间

一、堆空间的核心概述 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。 堆内存的大小是可以调节的。堆可以处于物理上不连续的内存空间中&#xff…...

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.13 降维打击:扁平化操作的六种武器

1.13 降维打击:扁平化操作的六种武器 目录 #mermaid-svg-bbLxDryjxBbXe3tu {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-bbLxDryjxBbXe3tu .error-icon{fill:#552222;}#mermaid-svg-bbLxDryjxBbXe3tu…...

Doris Schema Change 常见问题分析

1. 什么是 Schema Change Schema Change 是在数据库中修改表结构的一种操作,例如添加列、删除列、更改列类型等。 ⚠️Schema Change 限制⚠️ 一张表在同一时间只能有一个 Schema Change 作业在运行。分区列和分桶列不能修改。如果聚合表中有 REPLACE 方式聚合的…...