ADB应用浅析-普通手机app不依赖电脑如何获取ADB权限

普通手机app不依赖电脑-如何获取ADB权限

--ADB应用浅析

在之前的篇章中,我们花了好多的篇幅在ADB连接的专题上,如

ADB点击实战-做一个自动点广告播放领金币的脚本

app如何跳过录屏的权限和通知栏提示获取屏幕画面

ADB连接专题-跨互联网远程adb连接到手机》等等系列的文章。我们在这些系列的篇章中分门别类的论述了:如何在手机已经开启了tcpip 5555端口的情况下,充分利用Android手机中的ADB指令和功能,实现复杂的扩展功能和应用的能力。

但是这一切,都绕不开一个根本的问题:我们一个普通的手机,如何让它能获取得到ADB权限呢

前面的篇章《ADB点击实战-做一个自动点广告播放领金币的脚本app(下)》文中,我们罗列了常规的、依赖电脑操作的标准方式:

【开发者选项】->【USB调试开关】->【USB的OTG线插到电脑】->【电脑解压platform-tools.rar】->【电脑运行adb.exe tcpip 5555】

通过这几个级联的步骤和操作,开启的手机ADB权限(复杂度其实挺高的)。

这个方式也是绝大多数Android应用开发者和用户使用ADB去操控手机的前提步骤。现在的各种AI手机方案基本也是采用这样的方式来"间接"操控手机屏幕界面和事件操作。

那问题来了,就如我们去年底遇到的情况一样:哪天你出门向你的客户展示你的方案,客户觉得不错,拿出它的手机,让你在它手机上也装一个APP试试。你咋办?要告诉他APP要依赖电脑,要先插电脑上授权一个ADB然后才能工作吗?还是告诉他今天出门你没带电脑,授权不了手机ADB?^V^。

因此,我们回过头来反思:凡是不能在手机本身实现闭环的应用或者方案,都踏马的是垃圾!一个手机应用APP,居然不能独立工作,要依赖其它CPU设备的干预,才能正常跑起来,那不扯蛋呢吗!

后来我们就痛定思痛,在Android手机ADB授权的基础上,弄出了"普通手机app不依赖电脑-直接获取ADB权限"的方案和能力,也即本篇内容的由来。

经过此步骤的安卓手机,不再需要插入电脑进行ADB授权,也可正常在手机内部独立完成手机的ADB授权操作。哪怕是手机重启或恢复了出厂设置的Android,均可完整的实现手机ADB的授权。

体验和下载地址:

ADB无线调试-测试App: http://120.78.211.195:8060/adbtest.apk

或 智能拨号器App: http://120.78.211.195:8060/Dialer.apk

  • 二、APP操作测试界面

当前的测试APP共有以下的三大依赖项(需要在应用操作过程中手动授权允许):

1、依赖百度飞桨的paddle-lite的OCR识别(测试APP自带)

2、依赖手机开发者选项中的【无线调试】的入口(参考下章节的步骤手动操作)

3、依赖Android默认MediaProjection的录制屏幕的能力(需手动授权)。

测试APP界面上只有两个按钮和顶部的状态进度文字显示区域,如下图所示:

通常只需要按下第一个按钮【申请录制屏幕权限】,即可正常的加载ocr识别库和模型、弹出录屏的授权提示框,并自动跳转到手机的"开发者选项",自动完成级联操作。

申请录屏权限后,手机会弹出录屏的授权提示框,如下图所示:

此时部分手机需要选择"共享整个屏幕"的选项,再点击确定按钮,即可允许应用APP对整个手机进行屏幕画面的提取。

授权了手机录屏权限后,测试APP自动跳转到Android手机的【开发者选项】的界面。

  • 三、手机无线调试的操作入口

一般的手机,如果该手机之前从未开启过【开发者选项】,就需要进"关于手机"中,狂点某个条目(如下图左侧的版本号),开启手机的开发者模式。如果手机已开启过【开发者模式】的,在上面录屏授权后会直接跳转到【开发者选项】的界面。

在开发者选项中,点击【无线调试】的条目,进入无线调试的配置界面(不用开启USB调试,开不开都可以),如下图右侧所示:

无线调试的界面中,用户需要手动打开"无线调试"的开关,然后手动点击【使用配对码配对设备】。让它弹出如下图那样具有"WLAN配对码"(通常是6位数字)内容的弹窗界面,如下图所示:

至此就可以了,耐心的等待弹窗消失。测试APP在前面授权了录制屏幕的权限后,就一直会捕获手机屏幕的画面,当测试APP从当前界面中识别出有"无线调试配对--配对码和连接IP地址端口"后,会自动进行配对和连接。连接成功后当前弹出的【与设备配对】界面会自动消失。当这个配对码弹窗消失了,说明测试APP已完成预期的【普通手机app不依赖电脑-直接获取ADB权限】的功能。

这个过程是很快的(约2~5秒左右),假设如果等待10秒,配对弹窗仍未消失,用户不放心的可以点击"取消"按钮,再次点击【使用配对码配对设备】条目,重新弹出配对弹窗等待测试APP主动读取识别即可。通常不需要这样操作都能直接快速的完成配对。

  • 四、ADB无线调试-测试App的配对和连接过程

如果读者对技术有求知欲,并且可以查看测试APP的Logcat日志,可以在日志中过滤"com.ade.adbtest"字样,就可以很清晰的看到测试APP的录屏和OCR识别的经过,如下图所示:

从图中的日志信息,我们可以很容易的看出当前配对成功的手机WLAN的IP地址、配对端口、配对码,以及手机无线调试的连接端口。测试APP就使用这4个属性的值,来独立完成手机的ADB授权操作。

  • 五、总结

我们前面一直依赖电脑来给Android做ADB授权操作,对于一个手机应用APP和用户而言,确实是很不方便的。这个问题也困扰了我们好久。

得益于GitHub上的开源方案和思路,以及DeepSeek强大的编程能力,我们通过各种方案和思路的尝试,最终还是搞定了这个课题。实现了手机本身就可以实现【对应用APP做adb的授权】,从此不再依赖电脑做adb授权

我们前期在互联网上,并没有看到有人做过此类尝试,至少截至目前,方案具备足够的先进性,我们也算是这个方向开拓的先驱^V^。

感兴趣的朋友可以自行下载测试APP,试用和体验一下手机无线调试配对和ADB连接授权的效果。本文的探索方向和思路,对Android手机操控和应用,也具有一定的实践意义。

相关推荐
皮皮虾123413 分钟前
云手机 vs 真实手机:全面对比优势与劣势
智能手机
皮皮虾123424 分钟前
市面上最常见的云手机有哪些?
智能手机·云手机
Sim148031 分钟前
iPhone将内置本地大模型,手机端AI实现0 token成本时代来临?
人工智能·ios·智能手机·iphone
D4c-lovetrain3 小时前
linux个人心得24 (mysql③,AI排版尝试)
android·adb
黑牛儿4 小时前
MySQL负载均衡配置详细步骤(新手易操作版)
mysql·adb·负载均衡
江不清丶4 小时前
深入剖析 MySQL 日志系统:Redo Log、Undo Log 与 Binlog 的协同工作原理
数据库·mysql·adb
南宫码农5 小时前
Gemma 4 使用教程:从手机到桌面全覆盖
智能手机
wanhengidc5 小时前
云手机的工作原理
运维·服务器·网络·网络协议·智能手机
wanhengidc5 小时前
服务器租用的好处
大数据·运维·服务器·游戏·智能手机
不愿透露姓名的大鹏5 小时前
MySQL慢查询日志实战优化指南
linux·服务器·数据库·mysql·adb