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