Android 开机自启 Adb 无线调试

@zgcwkj  2023年10月21日

分类:

代码 其它 

安卓设备,通过 Magisk 实现开机自动启动 Adb 无线调试

前提安装 MagiskKernelSU 程序

/data/adb/service.d 文件夹下,创建一个脚本,内容如下:

adb.sh
#!/system/bin/sh

# 延时启动
sleep 5

# 启动 ADB
echo "Starting ADB..."
setprop service.adb.tcp.port 5555
stop adbd
start adbd
在开发者模式中,打开调试授权永不过期

连接命令

adb kill-server

adb connect 127.0.0.1:5555

scrcpy --no-audio --max-size 2048

常用参数
--no-audio 关闭音频
--max-size 2048 分辨率
--turn-screen-off 关闭屏幕
--show-touches 显示触摸点
--stay-awake 保持唤醒
--screen-off-timeout=3000 设置超时,秒

其他命令

开启无线调试
adb tcpip 5555
ADB 可操作的目录
/data/local/tmp/
禁用 ADB授权超时功能
adb shell
settings put global adb_allowed_connection_time 0
防止 USB 调试授权撤销
备份 adb_keys 授权文件

# 复制文件
cp /sdcard/adb/adb_keys /data/misc/adb/adb_keys
# 更改文件所有者
chown system:shell /data/misc/adb/adb_keys
# 授予文件权限
chmod 640 /data/misc/adb/adb_keys

默认授权 Adb 调试

#!/system/bin/sh
set -o standalone
set -uo pipefail

# 防重复执行锁:已运行则直接退出
LOCK_FILE="/tmp/adb_config.lock"
[ -f "$LOCK_FILE" ] && exit 0
touch "$LOCK_FILE"

# 日志文件
LOG_FILE="/data/adb/adb_auto_config.log"
> "$LOG_FILE"
echo "[$(date)] 澎湃 OS ADB 纯净版配置启动" >> "$LOG_FILE"

# 1. 等待系统完全启动
until [ "$(getprop sys.boot_completed 2>/dev/null)" = "1" ]; do
    sleep 3
    echo "[$(date)] 等待系统启动:sys.boot_completed未就绪" >> "$LOG_FILE"
done
sleep 6
echo "[$(date)] 系统启动完成,开始配置 ADB" >> "$LOG_FILE"

# 2. 核心 ADB 配置
## 开发者模式 + 基础 ADB 开关
setprop persist.sys.development_settings_enabled 1
setprop persist.sys.adb_enabled 1
setprop persist.sys.adb_allowed_connection_time 0
setprop persist.sys.adb_wifi_enabled 1
## 持久化服务属性
setprop persist.service.adb.enable 1
setprop persist.service.debuggable 1
setprop persist.sys.usb.config adb,mtp
## MIUI/澎湃OS专属权限
setprop persist.security.adbinstall 1
setprop persist.security.adbinput 1
setprop persist.sys.adb_notify 0
## 无线 ADB 5555 端口
setprop persist.adb.tcp.port 5555
setprop service.adb.tcp.port 5555
setprop persist.sys.adb_tcp_port 5555

echo "[$(date)] ADB系统属性配置完成" >> "$LOG_FILE"

# 3. ADBD 重启
killall -9 adbd 2>/dev/null || true
sleep 2
start adbd 2>/dev/null || /system/bin/adbd 2>/dev/null &
echo "[$(date)] ADBD服务重启完成" >> "$LOG_FILE"

# 4. 最终配置验证
ADBD_PID=$(pidof adbd 2>/dev/null || echo "未运行")
echo "[$(date)] 配置全部完成!当前有效状态:
无线ADB端口:$(getprop persist.adb.tcp.port 2>/dev/null)
ADB启用状态:$(getprop persist.sys.adb_enabled 2>/dev/null)
无线ADB开关:$(getprop persist.sys.adb_wifi_enabled 2>/dev/null)
ADBD进程PID:${ADBD_PID}" >> "$LOG_FILE"

# 释放锁
rm -f "$LOCK_FILE"
exit 0


评论已关闭

Top