@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
rem ==========================================================================
rem   B+助手 · 手机端一键装机（技术员用 · Windows 版）
rem   用法：双击运行，或在命令行执行  Bplus-install.bat  lvjun.bplus-home.com
rem   前置：装好 adb（Android Platform Tools）并加入 PATH；手机开 USB 调试
rem ==========================================================================

set HOST=%~1
if "%HOST%"=="" set HOST=www.bplus-home.com
set PKG=com.example.aplusai
set SVC=%PKG%/%PKG%.APlusAccessibilityService
set URL=https://%HOST%/downloads/BplusCollector.apk
set TMP=%TEMP%\BplusCollector.apk

echo ==============================================
echo  B+助手 一键装机
echo  下载源: %URL%
echo ==============================================
echo.

where adb >nul 2>&1
if errorlevel 1 (
  echo [X] 找不到 adb。请先安装 Android Platform Tools 并加入 PATH。
  pause
  exit /b 1
)

adb devices | findstr /C:"device" >nul
if errorlevel 1 (
  echo [X] 没检测到手机。请打开 USB 调试、手机上点「允许调试」后重试。
  adb devices
  pause
  exit /b 1
)

echo 1/7 下载安装包...
if exist "%TMP%" del /q "%TMP%"
powershell -NoProfile -Command "try{Invoke-WebRequest -Uri '%URL%' -OutFile '%TMP%' -UseBasicParsing}catch{exit 1}"
if not exist "%TMP%" (
  echo [X] 下载失败，检查网络或换个下载源
  pause
  exit /b 1
)
for %%A in ("%TMP%") do echo     已下载 %%~zA 字节

echo.
echo 2/7 安装（覆盖安装，保留已有配置）...
adb install -r "%TMP%"
if errorlevel 1 (
  echo [X] 安装失败
  pause
  exit /b 1
)

echo.
echo 3/7 授予系统直写权限（让 App 内的无障碍变成真一键）...
adb shell pm grant %PKG% android.permission.WRITE_SECURE_SETTINGS

echo.
echo.
echo 4/8 放行 App 自装更新（内置更新用，以后手机自己装新版本，不用连电脑）...
adb shell cmd appops set %PKG% REQUEST_INSTALL_PACKAGES allow

echo.
echo 5/8 加入电池优化白名单...
adb shell dumpsys deviceidle whitelist +%PKG%

echo.
echo 6/8 放行自启动（小米 op 10008）...
adb shell cmd appops set %PKG% 10008 allow

echo.
echo 7/8 开启无障碍服务...
adb shell settings put secure enabled_accessibility_services ""
timeout /t 2 /nobreak >nul
adb shell settings put secure enabled_accessibility_services "%SVC%"
adb shell settings put secure accessibility_enabled 1

echo.
echo 8/8 启动 App...
adb shell monkey -p %PKG% -c android.intent.category.LAUNCHER 1

timeout /t 3 /nobreak >nul
echo.
echo ================ 结果自检 ================
echo 版本：
adb shell dumpsys package %PKG% | findstr /C:"versionName"
echo 无障碍绑定：
adb shell dumpsys accessibility | findstr /C:"Bound services"
echo 电池白名单：
adb shell dumpsys deviceidle whitelist | findstr /C:"%PKG%"
echo =========================================
echo.
echo 完成。手机上打开 B+助手，扫码或粘贴绑定码即可开始采集。
echo 若「无障碍绑定」是空的：到设置里把 B+助手 的无障碍开关【关 - 开】一次。
echo 以后发新版本：手机会自己在后台下好并提示安装，不用再拿电脑跑这个脚本。
echo.
pause
