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手机操控和应用,也具有一定的实践意义。

相关推荐
limingade2 小时前
重启手机后-自动领金币app如何独自取到ADB权限进行手机操作
物联网·adb·智能手机·ocr识别手机广告·adb自动关闭广告·手机adb授权·自动领金币app
·云扬·13 小时前
MySQL基于位点的主从复制完整部署指南
android·mysql·adb
大鹏说大话1 天前
MySQL 8.0 性能优化全攻略:索引、查询与配置调优的实战指南
adb
t***44232 天前
MySQL 导出数据
数据库·mysql·adb
rpa研究爱好者2 天前
灵梭rPA如何通过手机群控自动填写并提交每日运营报表
智能手机·rpa
fengsen52113143 天前
MySQL--》如何在MySQL中打造高效优化索引
android·mysql·adb
龙之叶3 天前
Android ADB Shell 常用命令
android·adb
之歆3 天前
MySQL 主从复制完全指南
android·mysql·adb
rpa研究爱好者3 天前
利用灵梭rPA进行手机群控自动化采集竞品价格与营销活动数据
智能手机·自动化·rpa