ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

中兴F50无线调试全攻略:不拆机不刷机,ADB远程连接实战

中兴F50无线调试全攻略:不拆机不刷机,ADB远程连接实战 1. 为什么要在中兴F50上折腾无线调试中兴F50这台随身WiFi设备在二手市场和数码玩家圈子里热度一直不低。它本身是个便携式5G路由器插卡就能出热点但真正让它出圈的是它跑的是Android底层系统而且不少版本的系统设置里藏着开发者选项。这意味着什么意味着你可以把它当成一台微型Android主机来用装Termux、跑SSH、开ADB无线调试甚至拿它当跳板去调试别的设备。我手上这台F50是去年入的最初只是想当个备用热点后来发现它的系统版本对开发者选项限制不算严就动了折腾的心思。核心诉求其实很简单不拆机、不刷机、不接USB线纯靠无线网络把ADB调试通道打开。这样做的价值在于F50通常放在包里或者口袋里你不可能随时给它插数据线但无线调试一旦通了你在同一局域网内用电脑就能直接adb connect过去装应用、抓日志、截图、改分辨率全部远程搞定。适合看这篇内容的人有三类一是手里有F50想深度挖掘的数码玩家二是想拿F50当轻量级Android测试节点的开发者三是纯粹对无线调试流程好奇、想搞明白配对码机制的技术爱好者。不管你属于哪一类下面的步骤和踩坑记录都能直接抄作业。需要提前说明的是F50的系统版本差异比较大早期批次和后期批次的设置菜单不完全一样。我实测的这台是较常见的公开版固件如果你发现菜单路径对不上大概率是固件版本不同思路是通的具体入口需要你自己在设置里翻一翻。2. 动手前的环境准备与核心概念梳理2.1 无线调试到底是怎么一回事很多人第一次接触“无线调试”这个词会以为是什么高深的东西。其实它的本质就是把原来走USB线的ADB通道改成走TCP/IP网络。Android 11之后原生支持了“无线调试”功能带配对码的那种安全性比早期单纯adb tcpip 5555的方式高不少。传统方式是这样的先用USB线连上设备执行adb tcpip 5555然后拔掉线用adb connect IP:5555连过去。问题在于你必须有线连一次。而F50这种设备你未必方便插线或者插线后电脑识别不到驱动。原生无线调试的好处是全程不需要USB线设备自己会生成一个配对码和端口你在电脑上输入配对码就能建立信任关系。F50的系统底层是Android但它的设置界面被定制过原生无线调试入口不一定直接暴露出来。所以我们的思路是先想办法进入开发者选项找到无线调试开关如果找不到就通过Termux在设备本地执行命令来开启ADB over TCP。2.2 需要准备的工具清单在开始之前把下面这些东西备齐能省掉很多中途卡壳的时间。一台中兴F50确保电量充足建议插着充电器操作避免中途断电导致设置丢失。一台电脑Windows、macOS、Linux都行我主力用macOSWindows的坑会单独说。ADB工具包推荐用Google官方platform-tools版本不要太老。热词里提到的adb工具1.0.32.zip那种打包版也能用但版本混乱容易出adb server version doesnt match的报错后面会讲怎么处理。Termux如果F50上还没装需要先想办法装一个。可以从F-Droid或者GitHub Release下载APK通过F50的浏览器下载安装。同一局域网电脑和F50必须连在同一个网络下。F50自己开的热点电脑连上去就行或者F50作为客户端连你家路由器电脑也连同一个路由器。SSH工具可选但强烈建议。Termux里装openssh后可以从电脑SSH登录F50操作起来比在手机小屏幕上戳命令舒服得多。Windows上用Bitvise SSH Client或者系统自带ssh命令macOS直接用终端。注意整个操作过程中不要随意重启F50部分固件在重启后会关闭ADB调试端口需要重新开启。2.3 网络拓扑先理清楚这一步很多人忽略导致后面adb connect一直连不上。你得先明确电脑和F50之间的网络关系。场景F50角色电脑连接方式F50的IP获取方式场景A热点提供者电脑连F50的WiFiF50网关地址通常是192.168.0.1或192.168.1.1场景B局域网客户端电脑和F50都连同一路由器在F50设置里查看WLAN详情获取IP场景CUSB网络共享电脑通过USB连F50较少用F50的USB口通常只供电我推荐场景A最简单直接。电脑连上F50的热点后F50自身的IP就是网关地址一般是192.168.0.1。你可以在电脑上ping 192.168.0.1确认通不通。3. 中兴F50开启无线调试的完整实操流程3.1 第一步激活开发者选项F50的设置界面里开发者选项默认是隐藏的。激活方式和普通Android手机一样进入“设置”-“关于设备”-连续点击“版本号”7次。点击过程中会有倒计时提示点到第7次会提示“您已处于开发者模式”。如果点版本号没反应试试点“内部版本号”或者“构建号”不同固件叫法不一样。我这台是点“版本号”生效的。激活后返回设置主菜单应该能看到“开发者选项”或者“开发人员选项”入口。进去之后先把“USB调试”打开。虽然我们目标是无线但USB调试开关是很多ADB操作的前置条件开着没坏处。然后往下翻找“无线调试”选项。3.2 第二步判断有没有原生无线调试入口这里分两种情况你得先确认自己属于哪种。情况一设置里有“无线调试”选项。恭喜这是最顺的路。点进去后会看到“使用配对码配对设备”的按钮。点击后F50会显示一个6位数的配对码和一个IP:端口比如192.168.0.1:37000。同时还有一个用于连接的端口通常在“无线调试”主界面显示比如192.168.0.1:5555。记下这些信息。情况二设置里没有“无线调试”选项。这是F50定制固件的常见情况。别慌我们走Termux本地命令的路子。先在F50上装好Termux打开它执行下面的命令来手动开启ADB TCP端口。# 在Termux中执行需要root权限 su setprop service.adb.tcp.port 5555 stop adbd start adbd如果su提示权限被拒说明F50没有root。这种情况下你可以尝试用adb命令本身来开启但前提是你能通过某种方式先连上一次。这就陷入死循环了。所以对于没有root又没有原生无线调试入口的F50唯一可行的办法是找一台能通过USB识别的电脑先有线开启一次。不过根据我的经验大部分公开版F50固件是带原生无线调试入口的只是藏得比较深可能在“开发者选项”的最底部或者需要先开启“USB调试”后才显示。3.3 第三步电脑端ADB配对与连接假设你已经拿到了配对码和两个端口号。打开电脑终端进入platform-tools目录。先配对adb pair 192.168.0.1:37000回车后终端会提示输入配对码。输入F50上显示的6位数字回车。如果成功会显示Successfully paired to 192.168.0.1:37000。然后连接adb connect 192.168.0.1:5555注意这里的端口是无线调试主界面显示的那个端口不是配对端口。这两个端口每次开启无线调试都可能变化所以每次都要重新看。连接成功后adb devices应该能看到设备列表里多了一台状态是device而不是unauthorized。如果是unauthorized说明配对没成功或者F50上弹出了授权对话框你没点允许。重新配对一次即可。3.4 第四步验证调试通道是否真正可用连上之后别急着高兴先做几个验证操作确认通道稳定。# 查看设备信息 adb shell getprop ro.product.model # 截图并保存到电脑 adb exec-out screencap -p f50_screen.png # 抓取日志 adb logcat -d f50_log.txt截图这条命令特别实用热词里也有人搜adb 截图保存电脑。exec-out方式比shell screencap再pull的方式更高效不会在设备上留临时文件。如果这些命令都能正常返回说明无线调试通道已经完全打通。你可以把F50扔在包里电脑上随时adb connect过去操作。4. 进阶玩法Termux与SSH让F50变成随身调试节点4.1 在F50上装Termux并配置SSHTermux是F50折腾的灵魂工具。装好之后先更新包列表pkg update pkg upgrade然后安装opensshpkg install openssh启动SSH服务sshdTermux的SSH默认端口是8022不是22。查看F50的IP后在电脑上这样连ssh -p 8022 u0_aXXX192.168.0.1用户名在Termux里用whoami查看通常是u0_a开头的一串。密码先用passwd命令设置一个。连上之后你就在电脑上拥有了一个F50的完整shell环境。这时候再执行ADB相关命令或者跑一些自动化脚本都比在F50小屏幕上操作舒服得多。4.2 用Termux安装ADB并调试其他设备热词里有个很有意思的搜索termux安装adb驱动并给其他手机刷机教程。这个思路是可行的。在Termux里pkg install android-tools这会装上adb和fastboot。然后你可以用OTG线把另一台手机连到F50上在Termux里执行adb devices如果识别到了就能用F50作为调试主机去操作那台手机。这个玩法适合没有电脑但想刷机或者调试的场景F50相当于一个微型工作站。不过要注意F50的USB口供电能力有限带不动大功率设备而且OTG支持情况因固件而异不是所有F50都支持OTG输出。我实测这台是支持的但识别不稳定偶尔需要重新插拔。4.3 SSH密钥登录免密码每次SSH都要输密码太麻烦配置密钥登录# 在电脑上生成密钥对如果还没有 ssh-keygen -t ed25519 # 把公钥复制到F50 ssh-copy-id -p 8022 u0_aXXX192.168.0.1之后SSH登录就不需要密码了。如果你在Windows上遇到bad owner or permissions on .ssh/config这种报错是权限问题用icacls命令把.ssh目录权限收紧即可。这个报错在热词里也有人搜算是Windows用户的常见坑。5. 常见问题与排查技巧实录5.1 ADB连接失败排查速查表现象可能原因解决方法adb connect提示cannot connect端口不对或F50防火墙拦截确认无线调试主界面端口检查F50是否开了AP隔离adb devices显示unauthorized配对未完成或授权弹窗未点重新adb pair注意F50屏幕上是否有授权提示adb server version doesnt match电脑上有多份adb版本冲突杀掉所有adb进程统一用一份platform-toolsadb pair提示failed配对码输错或配对端口过期重新在F50上生成配对码注意配对端口和连接端口不同SSH连接被拒sshd没启动或端口不对Termux里重新sshd确认端口8022su: not foundF50没有root走原生无线调试路线不要依赖root命令5.2 几个我踩过的坑坑一AP隔离导致连不上。F50开热点时有些固件默认开启了AP隔离连在热点上的设备之间不能互相通信。表现就是电脑能上网但ping不通F50的网关。解决办法是在F50的WiFi设置里找“AP隔离”或者“客户端隔离”选项关掉它。如果找不到这个选项就换场景B让F50和电脑都连同一个路由器。坑二端口每次重启都变。无线调试的端口不是固定的F50重启后会重新分配。所以不要写死脚本里每次连接前先看一眼。如果你需要固定端口可以在开发者选项里找“无线调试端口”设置部分固件支持固定。坑三Windows上adb识别不到设备。热词里有人搜windous10管理员找不到adb这个问题通常是环境变量没配好。把platform-tools目录加到系统PATH里或者直接在platform-tools目录下打开终端执行命令。另外Windows Defender有时候会拦截adb加个白名单。坑四Termux里执行adb提示权限不足。这是因为Termux没有USB权限。需要root后在Termux里执行chmod 666 /dev/bus/usb/*/*或者用termux-usb命令申请权限。没有root的话Termux里的adb只能连网络设备不能连USB设备。5.3 无线调试配对码机制的安全提醒原生无线调试的配对码机制本质上是在设备和电脑之间建立一个信任关系。配对码是一次性的用过就失效。这个设计比早期的adb tcpip 5555裸奔方式安全得多因为后者只要知道IP和端口任何人都能连。但即便如此也不要在公共WiFi下开启无线调试。F50如果连的是咖啡厅或者机场的公共网络同一网络下的其他人有可能扫描到你的调试端口。虽然配对码能挡住一部分但多一事不如少一事。我一般只在自家网络或者F50自己开的热点下操作。6. 把F50当路由器用的额外配置思路热词里有个搜索量很高的词中兴f50当路由器用。这其实是F50最基础的用法但很多人不知道怎么优化。F50插卡后默认就开热点但默认设置下WiFi名称和密码是随机的而且管理后台地址不直观。我的做法是进F50的Web管理后台通常是192.168.0.1把WiFi名称改成自己好记的密码设复杂点加密方式选WPA2-PSK。然后在“网络设置”里把APN确认一下有些物联网卡需要手动填APN才能上网。如果F50是作为二级路由连上级路由器记得把LAN口IP改成和上级路由不同网段避免冲突。另外F50的WiFi覆盖范围有限如果你家里面积大可以把它当成一个5G转有线的网关用USB转网口线接出来再连到主路由器上。不过这个玩法对USB网卡芯片有要求不是所有网卡都兼容我试过AX88179芯片的可以RTL8153的没成功。7. 关于ADB常用命令的一些补充既然无线调试通了ADB命令就是日常操作了。这里列几个我高频使用的配合F50的场景特别实用。# 查看当前前台应用包名 adb shell dumpsys window | grep mCurrentFocus # 模拟按键比如返回键 adb shell input keyevent 4 # 设置屏幕方向为横屏 adb shell wm size 1280x720 # 禁用锁屏密码需要root adb shell locksettings set-disabled true # 导出UI层级用于自动化分析 adb shell uiautomator dump /sdcard/ui.xml adb pull /sdcard/ui.xmluiautomator dump这个命令在热词里也有人搜配合adb shell input tap可以做简单的自动化点击。F50的屏幕小用这个方式批量操作比手点效率高。adb logcat抓日志的时候如果日志量太大可以加过滤adb logcat -s TAG_NAME:V把TAG_NAME换成你关心的标签只看相关日志避免被刷屏。8. 最后聊几句实际使用中的体会F50这台设备硬件底子不错但系统层面的开放程度因固件而异。我前后折腾过三台不同批次的F50有的原生带无线调试有的需要Termux辅助还有一台死活开不了ADB。所以如果你按上面的步骤走不通先别怀疑自己操作有问题大概率是固件限制。我的建议是拿到F50后第一件事就是进开发者选项看有没有无线调试入口。有的话整个流程十分钟搞定没有的话评估一下自己有没有root能力没有就放弃ADB这条路老老实实当热点用。折腾的前提是不影响设备正常功能别为了开个调试把系统搞崩了。另外Termux在F50上的体验比想象中好装个Ubuntu容器跑点轻量级服务完全没问题。我目前拿它当SSH跳板出门在外的时候电脑通过F50的SSH隧道连回家里的服务器比直接暴露端口安全得多。这个玩法后续可以单独展开讲涉及SSH隧道和端口转发的配置内容不少。如果你也在折腾F50遇到什么奇怪的问题欢迎交流。数码这东西一个人踩坑是坑一群人踩坑就是路。
返回列表