镜花水月
答案是没问题,早在Android 10系统开始,谷歌就在开发者选项中新增了“无线调试”功能,通过它就能让手机模拟电脑,让它既是ADB Server也是Client,从而自己连接自己。同时,再借助大神开发的一个工具应用“LADB”(LocalADB,即本地ADB,下载地址:https://www.coolapk.com/apk/292376),就能直接在手机上运行adb shell 命令。
首次在手机上运行LADB时会弹出一个配对信息窗口(图1),后续操作需要其一直保持在这个状态,如果你不小心点击了“好的”导致这个窗口关闭,后续再运行时将不再弹出这个配对信息窗口。
如果出现这个问题,我们需要点击LADB页面右上角的“┇”按钮选择“帮助”(图2),此时会进入LADB的帮助界面,然后点击第一项“重置服务端”就能起到重启APP的效果(图3),恢复第一次运行时的配对信息弹窗。
接下来需要将手机接入任意的Wi-Fi,哪怕是无法联网的热点也可以,然后将LADB切换到小窗或分屏模式。原因很简单,无线调试的配对码等信息只要退出该界面就会强制刷新,动态生成一组新的配对码,需要将LADB和开发者选项选项中的无线调试功能处于同一个界面时才能确保输入正确的配对码。
以OPPO手机为例,通过点击虚拟按键或手势进入多任务窗口,找到并点击LADB右上角的“┇”按钮就能看到“浮窗”和“分屏”的选项(图4)。我们先以“浮窗”模式介绍接下来的设置方法。
保持L A DB的浮窗状态,然后进入设置连续点击“关于手机→版本信息”激活开发者模式,进入开发者选项找到并启动“无线调试”(图5),弹出警示窗口时选择“允许”(图6),然后进入无线调试的设置界面,选择“使用配对码配对设备”(图7)。
记住弹窗中的WLAN配对码和端口信息(图8),点击LADB的浮窗使其放大,并在对应的输入框中输入之前记下的配对码和端口信息(图9),如果LADB的窗口内可以出现大量的字符则说明连接成功(图10),此时就能将LADB的浮窗还原,随时输入需要的adb shell 命令了(图11)。
如果你觉得浮窗使用不便,可以在图4中选择“分屏”的模式,在显示和操作方面较之“浮窗”模式更友好(图12),还不容易出错。
出于安全的考慮,LADB只向用户开放了adb shell输入,在系统没有ROOT时只能执行“shell xxx”这样的命令,但也足以完成黑阈、绿色守护等APP的配置了。
常用部分命令说明:
ls(查看当前目录下的文件);
cd(切换目录,如cd /sdcard);
su(若Root设备,可以使用此获取权限,使用后再执行某些命令就没有权限限制了);
rm xxx.txt(删除某个文件);
mv xxx.txt /sdcard/yyy.txt(移动文件,顺便重命名);
cp xxx.txt yyy.txt(复制文件);
md5 xxx.txt(获取文件的MD5值);
am start -n com.tencent.mm/com.tencent.mm.ui.LauncherUI(启动任意应用的Activity,比如启动微信);
am force-stop com.xxx.xxx(结束某个应用);
dumpsys activity services com.xxx.xxx(查看某个应用正在运行的Service);
pm disable-user com.xxx.xxx(冻结某个应用,参数是包名);
pm enable com.xxx.xxx(恢复冻结);
pm clear com.xxx.xxx(清除某个应用的数据)。
如果手机本身已经ROOT,通过su后可以无限制执行更高级命令,比如今后再配置Wavelet时就能真正摆脱电脑了(图13)。