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 連接命令(bat)

@echo off
chcp 65001 >nul 2>&1
title 快速連接

rem 基礎配置
set be=192.168.68.
set mac=00-49-d4-ac-b1-00
set ip=

rem 掃描 ARP
for /f "tokens=1" %%i in ('arp -a ^| findstr /i "%mac%"') do set ip=%%i:5555

if not defined ip (
    echo ARP 未找到設備,正在掃描網段 %be%0/24 ...
    
    rem 掃描 整個網段
    for /L %%i in (1,1,254) do start /b ping %be%%%i -n 1 -w 500 >nul 2>&1
    timeout /t 5 /nobreak >nul

    rem 掃描 ARP
    for /f "tokens=1" %%i in ('arp -a ^| findstr /i "%mac%"') do set ip=%%i:5555
)

if defined ip (
    echo 已找到設備: %ip%
    adb connect %ip%
    goto :run_scrcpy
)

echo 未找到設備,請檢查設備是否在線。
goto :end

:run_scrcpy
rem 指定設備
set scrcpy_args=-s %ip%
rem H265編碼
rem set scrcpy_args=%scrcpy_args% --video-codec h265
rem AV1編碼
set scrcpy_args=%scrcpy_args% --video-codec av1
rem 碼率
set scrcpy_args=%scrcpy_args% -b 2m
rem 最大分辨率
set scrcpy_args=%scrcpy_args% -m 1024
rem 窗口置頂
set scrcpy_args=%scrcpy_args% --always-on-top
rem 關閉音頻
set scrcpy_args=%scrcpy_args% --no-audio
rem 顯示觸摸點
set scrcpy_args=%scrcpy_args% --show-touches
rem 保持活躍
set scrcpy_args=%scrcpy_args% --keep-active
rem 關閉屏幕
rem set scrcpy_args=%scrcpy_args% --turn-screen-off
rem 執行連接
scrcpy %scrcpy_args%

rem 虛擬顯示
rem scrcpy --no-audio --new-display=1080x1920 --start-app=com.coolapk.market
rem scrcpy --new-display=1080x1920 --start-app=com.eg.android.AlipayGphone
rem scrcpy --new-display=1920x1080 --start-app=com.zgcwkj.getcks

rem 攝像頭
rem scrcpy --list-cameras
rem scrcpy --video-source=camera

:end
pause
adb kill-server

其他命令

開啟無線調試
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