@echo off title T-Order Tablet Automation Tool (Multi-Device Loop) chcp 65001 > nul :: --- [설정 영역] --- set "DEBUG_MODE=ON" set "SSID=fg" set "PW=Fg9576861!" set "PKG_MD=com.arlosoft.macrodroid" set "PKG_PHOTOS=com.synology.projectkailash" :: 경로 설정 (스크립트 기준 상대경로) set "SCRIPT_DIR=%~dp0" set "SDK_DIR=%SCRIPT_DIR%sdk" set "DATA_DIR=%SCRIPT_DIR%data" set "WP_FILE=%DATA_DIR%\wallpaper.jpg" set "MDR_FILE=%DATA_DIR%\macrodroid.mdr" set "PHOTOS_APK=%DATA_DIR%\photos.apk" set "MD_APK=%DATA_DIR%\macrodroid.apk" :: ADB 경로 설정 set "ADB=%SDK_DIR%\adb.exe" :: ------------------ if "%DEBUG_MODE%"=="ON" (set "LOG=") else (set "LOG=>nul 2>&1") :: SDK 폴더 확인 if not exist "%ADB%" ( echo [오류] ADB를 찾을 수 없습니다: %ADB% echo sdk 폴더에 platform-tools가 있는지 확인하세요. pause exit /b 1 ) :LOOP_START cls echo =========================================================== echo T-Order 태블릿 세팅 자동화 시스템 echo (디버그 모드: %DEBUG_MODE% / 연속 세팅 활성) echo =========================================================== echo * 새로운 기기를 연결하면 자동으로 작업이 시작됩니다. echo * 모든 작업을 종료하려면 이 창에서 [Ctrl + C]를 눌러주세요. echo =========================================================== :CHECK_DEVICE echo [%TIME%] [준비] 기기 연결 대기 중... :: 무한 대기 방지 위해 짧은 대기 후 재시도 루프 "%ADB%" wait-for-device echo [확인] 기기가 연결되었습니다! 작업을 시작합니다. timeout /t 2 > nul echo. echo STEP 1. 네트워크 설정 (WiFi) echo ----------------------------------------------------------- "%ADB%" shell svc wifi enable %LOG% "%ADB%" shell "cmd wifi add-network '%SSID%' wpa2 '%PW%'" %LOG% "%ADB%" shell "cmd wifi connect-network '%SSID%'" %LOG% echo ^> 무선네트워크 연결 완료 echo. echo STEP 2. T-Order 앱 및 YouTube 일괄 제거 echo ----------------------------------------------------------- echo ^> 관련 앱(T-Order, YouTube 등) 패키지 스캔 후 순차적 제거 중... "%ADB%" shell "for p in $(pm list packages | grep -E 'torder|orderhae' | cut -d: -f2); do echo [발견] $p; echo - 데이터 초기화 후 제거...; am force-stop $p; pm clear $p; pm uninstall --user 0 $p; done" echo. echo ^> YouTube 등 불필요한 시스템 앱 제거 중... for %%a in (com.google.android.youtube com.google.android.projection.gearhead com.google.android.keep com.teamviewer.host.market com.teamviewer.quicksupport.market) do ( "%ADB%" shell pm list packages %%a | findstr "%%a" >nul if not errorlevel 1 ( echo [제거] %%a - 데이터 초기화 후 제거 진행. "%ADB%" shell "am force-stop %%a; pm clear %%a; pm uninstall --user 0 %%a; pm disable-user --user 0 %%a" %LOG% ) else ( if "%DEBUG_MODE%"=="ON" echo [스킵] %%a - 이미 없음. ) ) echo ^> STEP 2 완료 echo. echo STEP 3. 시스템 최적화 echo ----------------------------------------------------------- "%ADB%" shell settings put global window_animation_scale 0 %LOG% "%ADB%" shell settings put global transition_animation_scale 0 %LOG% "%ADB%" shell settings put global animator_duration_scale 0 %LOG% "%ADB%" shell settings put system screen_off_timeout 2147483647 %LOG% "%ADB%" shell settings put global stay_on_while_plugged_in 3 %LOG% "%ADB%" shell "service call activity 51 i32 2" %LOG% echo ^> 리소스 최적화 완료 echo. echo STEP 4. 필수 앱 설치 및 배경화면 echo ----------------------------------------------------------- "%ADB%" shell pm list packages %PKG_PHOTOS% | findstr /c:"%PKG_PHOTOS%" >nul if errorlevel 1 ( if exist "%PHOTOS_APK%" ( echo ^> Photos 설치 중... "%ADB%" install -r "%PHOTOS_APK%" ) ) "%ADB%" shell pm list packages %PKG_MD% | findstr /c:"%PKG_MD%" >nul if errorlevel 1 ( if exist "%MD_APK%" ( echo ^> MacroDroid 설치 중... "%ADB%" install -r "%MD_APK%" ) ) if exist "%WP_FILE%" ( "%ADB%" push "%WP_FILE%" /data/local/tmp/wallpaper.jpg %LOG% "%ADB%" shell am start -a android.service.wallpaper.CROP_AND_SET_WALLPAPER ^ -d file:///data/local/tmp/wallpaper.jpg -t image/jpeg ^ -n com.android.wallpaper/.picker.StandalonePreviewActivity ^ --el set_wallpaper 1 --ez finish_on_done true -f 0x10808000 %LOG% echo ^> [대기] 배경화면 설정 완료 대기 중... :WAIT_WP timeout /t 1 > nul "%ADB%" shell dumpsys window | findstr "mCurrentFocus" | findstr /i "resolver chooser wallpaper StandalonePreviewActivity" >nul if not errorlevel 1 goto WAIT_WP echo ^> 배경화면 설정 완료 ) echo. echo STEP 5. MacroDroid 권한 설정 echo ----------------------------------------------------------- "%ADB%" shell appops set %PKG_MD% WRITE_SETTINGS allow %LOG% "%ADB%" shell appops set %PKG_MD% SYSTEM_ALERT_WINDOW allow %LOG% "%ADB%" shell appops set %PKG_MD% GET_USAGE_STATS allow %LOG% "%ADB%" shell cmd notification allow_dnd %PKG_MD% %LOG% "%ADB%" shell cmd notification allow_listener %PKG_MD%/com.arlosoft.macrodroid.triggers.services.NotificationService %LOG% "%ADB%" shell pm grant %PKG_MD% android.permission.WRITE_SECURE_SETTINGS %LOG% "%ADB%" shell settings put secure enabled_accessibility_services %PKG_MD%/com.arlosoft.macrodroid.accessibility.MacroDroidAccessibilityService %LOG% "%ADB%" shell settings put secure accessibility_enabled 1 %LOG% echo ^> 권한 자동 설정 완료 echo. echo STEP 6. MacroDroid 매크로 프로필 전송 echo ----------------------------------------------------------- if exist "%MDR_FILE%" ( "%ADB%" push "%MDR_FILE%" /sdcard/Download/ %LOG% echo ^> 매크로 프로필 전송 완료 ) else ( echo ^> [경고] 매크로 파일이 없습니다: %MDR_FILE% ) echo. echo STEP 7. 앱 직접 실행 echo ----------------------------------------------------------- echo [1/2] 시놀로지 포토 로그인 실행... "%ADB%" shell am start -n %PKG_PHOTOS%/com.synology.projectkailash.ui.splash.SplashActivity %LOG% echo [2/2] 매크로드로이드 실행... "%ADB%" shell monkey -p %PKG_MD% -c android.intent.category.LAUNCHER 1 %LOG% echo. echo =========================================================== echo [%TIME%] 현재 기기 세팅 완료! echo 기기 연결을 해제하면 새로운 기기 대기 상태로 전환됩니다. echo =========================================================== :: 기기 연결 해제 대기 (기기를 뽑을 때까지 대기) :WAIT_DISCONNECT "%ADB%" devices | findstr /v "List" | findstr "device" > nul if not errorlevel 1 ( timeout /t 2 > nul goto WAIT_DISCONNECT ) echo [알림] 기기 연결 해제됨. 3초 후 새로운 기기 대기 상태로 돌아갑니다. timeout /t 3 goto LOOP_START