Skip to content

Instantly share code, notes, and snippets.

@vcheckzen
Last active October 20, 2024 17:28
Show Gist options
  • Save vcheckzen/826b381fd780f0bde92287fb4add5fad to your computer and use it in GitHub Desktop.
Save vcheckzen/826b381fd780f0bde92287fb4add5fad to your computer and use it in GitHub Desktop.
[Reproduce] Android 11+ Without Root Enable Adb WiFi On Boot Not Needing A Computer

简介

本教程是对 1, 2, 3 的复现,实现了 Android 11+ 开机解锁屏幕后自动开启 ADB WiFi 的 5555 端口,无需 ROOT 和电脑。如需无人值守,请将屏幕锁设置为 。本文不解释是什么,为什么,只介绍怎么做。

注意:本方法只适用于 WIFI 不会变化的场景,如果要在多个 WIFI 下使用,每个都要设置一次。

安装必要软件

  1. Termux
  2. Termux:Tasker
  3. Tasker

开心版 Tasker 进群获取

准备必要文件

进群下载文件 放到以下目录。

  1. /sdcard/termux-backup.tar.gz
  2. /sdcard/Tasker/projects/ADB_WiFi_Enabler.prj.xml

配置 Termux

  1. 打开 Termux 复制粘贴以下命令回车,更换镜像源4

    提醒:长按屏幕唤起 Termux 的粘贴菜单

    termux-change-repo

    弹出窗口后,按 回车,之后按 键定位到 tsinghua,按 空格 选中,按 回车 确定。

  2. 复制粘贴以下命令回车,更新系统组件,期间会出现多次停顿询问,每次都直接回车。

    pkg update -y
  3. 复制粘贴以下命令回车,授予存储访问权限5

    termux-setup-storage
  4. 执行以下命令恢复系统环境6

    tar -zxvf /sdcard/termux-backup.tar.gz \
      -C /data/data/com.termux/files \
      --recursive-unlink \
      --preserve-permissions && exit
  5. 上一步执行完成后,Termux 会自动退出,现在重新打开它后放到后台。

  6. 进入开发者选项开启 Wireless debugging,随后点击左侧文字部分进入次级菜单。

  7. 开启系统的上下分屏模式,上方放置 Wireless debugging 界面,下方放置 Termux 界面。

  8. 点击上侧的 Pair device with pairing code

  9. 在下侧 Termux 中输入以下命令回车,与系统配对。

    adb pair [ip:port] [pairing code]

    当看到 Successfully paired to [ip:port] 表示配对成功。

  10. 长按上侧的 IP address & Port,复制连接地址和端口。

  11. 在下侧 Termux 中输入以下命令回车,与系统连接。

    adb connect [ip:port]

    当看到 connected to [ip:port] 表示连接成功。

  12. Termux 全屏,复制粘贴以下命令回车,为 Tasker 授予更改系统设置7和调用 Termux 8的权限。

adb shell pm grant \
  net.dinglisch.android.taskerm \
  android.permission.WRITE_SECURE_SETTINGS && \
adb shell pm grant \
  net.dinglisch.android.taskerm \
  com.termux.permission.RUN_COMMAND

配置 Tasker

  1. 长按 Tasker 图标,点击 App info,在最下面的 Advanced 标签下找到 Modify system settings,点击它勾选 Allow modifying system settings

  2. 打开 Tasker,点击右上角 OK,在新页面中点击下方的 The full experience!,在新页面中勾选所有权限。

  3. 进入主界面后忽略提示,长按左下角 HOME 图标,选择导入项目(Import Project),点击页面上方的 ADB_WiFi_Enabler

  4. 导入成功后,开启 2. Enable ADB WIFI 配置项,随后点击右上角的 保存。

  5. 稍等片刻,当弹出 Allow USB debugging 时,勾选 Always allow from this computer 后点击 Allow。随后 Tasker 退出,所有流程结束,重启测试是否成功。

  6. 如果上一步不弹窗,则关闭 2. Enable ADB WIFI 配置项,随后点击右上角的 保存,最后重新执行第 4 步。如果还不弹窗,请查看下文 疑难杂症 小节。

  7. 如需开机激活 Shizuku,复制以下命令粘贴到 Termux 中回车9

    bpth=$HOME/.termux/tasker
    post=$bpth/post_enable
    cat >"$post"<<EOF
    #!/data/data/com.termux/files/usr/bin/bash
    
    sleep 3
    adb connect 127.0.0.1:5555
    adb -s 127.0.0.1:5555 shell sh \\
      /sdcard/Android/data/moe.shizuku.privileged.api/start.sh
    EOF
    chmod +x "$post"
    sed -i "/adb tcpip 5555/a $post" "$bpth"/enable_adb_wifi

疑难杂症

  1. 如果在 配置 Tasker 小节的第 5 步不弹窗,请确保以上三个软件都打开过一次,并检查 开发者选项 里的 USB 调试USB 调试(安全设置)10已经打开。
  2. 如果整个流程都执行成功,但重启后不生效,请在 系统设置或安全中心或手机管家(即系统内置的管理 APP) 里允许以上三个软件 自启动后台运行,并关闭 电池优化
  3. 如果在手动开启无线调试时,或在重启后,系统弹出 要允许在此网络上进行无线调试吗?,请勾选 在此网络上始终允许,随后点击允许。如果已经勾选过始终允许,但下次重启后,弹窗仍然出现,则可以安装群文件的 AutoInput 插件,用于每次 自动点击允许,具体设置过程可以参考 12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment