Compare commits

4 Commits

2 changed files with 201 additions and 57 deletions

179
README.md
View File

@ -1,53 +1,184 @@
# U10 Pro 디지털 사이니지 세팅 자동화 # T-Order 태블릿 세팅 자동화 시스템
T오더에서 사용하던 태블릿(U10 Pro)을 디지털 사이니지 대용으로 전환하기 위한 자동화 세팅 도구입니다. T-Order에서 사용하던 태블릿(ITAB X40L Plus)을 디지털 사이니지 또는 특수 용도로 전환하기 위한 자동화 세팅 도구입니다.
## 📋 개요
이 도구는 여러 대의 태블릿을 연속으로 설정할 수 있는 자동화 시스템으로, 각 기기를 연결하면 자동으로 WiFi 설정, 불필요한 앱 제거, 시스템 최적화, 필수 앱 설치 및 설정을 수행합니다.
## 🎯 주요 기능
- **연속 다중 기기 지원**: 한 대 완료 후 다음 기기 자동 대기
- **모델 자동 검증**: 호환 모델만 처리 (ITAB_X40L_Plus)
- **WiFi 자동 연결**: 지정된 네트워크에 자동 접속
- **앱 정리 자동화**: T-Order, YouTube 등 불필요한 앱 일괄 제거
- **디지털 사이니지 최적화**: 화면 상시 켜짐, 절전 비활성화 등
- **필수 앱 자동 설치**: Synology Photos, MacroDroid 설치 및 권한 설정
- **배경화면 설정 지원**: 사용자 확인 방식으로 안정성 보장
## 📁 폴더 구조 ## 📁 폴더 구조
``` ```
u10pro_setting/ platform-tools/
├── setup.bat # 메인 자동화 스크립트 ├── setup.bat # 메인 자동화 스크립트 (연속 다중 기기 지원)
├── spec_chk.bat # 기기 사양 확인 스크립트 ├── spec_chk.bat # 기기 사양 확인 스크립트
├── README.md # 프로젝트 설명서 ├── README.md # 프로젝트 설명서 (본 문서)
├── sdk/ # Android SDK Platform Tools ├── sdk/ # Android SDK Platform Tools
│ ├── adb.exe # (별도 다운로드 필요) │ ├── adb.exe
│ ├── fastboot.exe # (별도 다운로드 필요) │ ├── fastboot.exe
│ └── ... │ └── ...
└── data/ # 태블릿에 삽입될 데이터 └── data/ # 태블릿에 전송될 데이터
├── macrodroid.apk ├── macrodroid.apk # MacroDroid 앱 설치 파일
├── macrodroid.mdr ├── macrodroid.mdr # MacroDroid 매크로 프로필
├── photos.apk ├── photos.apk # Synology Photos 앱 설치 파일
└── wallpaper.jpg └── wallpaper.jpg # 배경화면 이미지
``` ```
## 🚀 사용 방법 ## 🚀 사용 방법
### 사전 준비 ### 1. 사전 준비
1. **SDK 다운로드**: [Android SDK Platform Tools](https://developer.android.com/studio/releases/platform-tools) 다운로드 후 `sdk/` 폴더에 압축 해제 1. **SDK 설치 확인**: `sdk/` 폴더에 Android Platform Tools가 있는지 확인
2. **USB 디버깅 활성화**: 태블릿에서 개발자 옵션 > USB 디버깅 활성화 - 없을 경우: [Android SDK Platform Tools](https://developer.android.com/studio/releases/platform-tools) 다운로드 후 압축 해제
2. **USB 케이블 연결**: 컴퓨터와 태블릿을 USB 케이블로 연결
3. **ADB 인증 허용**: 태블릿에서 "이 컴퓨터에서 USB 디버깅 허용" 팝업 승 2. **필수 파일 준비**: `data/` 폴더에 다음 파일들이 있는지 확
- `macrodroid.apk`, `photos.apk`: 앱 설치 파일
- `macrodroid.mdr`: 매크로 설정 파일
- `wallpaper.jpg`: 배경화면 이미지
### 기기 사양 확인 3. **태블릿 설정**:
- 설정 > 태블릿 정보 > 빌드 번호 7회 탭하여 개발자 모드 활성화
- 설정 > 개발자 옵션 > USB 디버깅 활성화
### 2. 기기 사양 확인 (선택사항)
```powershell ```powershell
.\spec_chk.bat .\spec_chk.bat
``` ```
태블릿의 모델명, OS 버전, 센서 탑재 여부 등을 확인니다. 태블릿의 모델명, OS 버전, 센서 탑재 여부 등을 확인할 수 있습니다.
### 자동 세팅 실행 ### 3. 자동 세팅 실행
```powershell ```powershell
.\setup.bat .\setup.bat
``` ```
실행 후 기기를 연결하면 자동으로 다음 작업이 수행됩니다: 스크립트 실행 후:
1. 태블릿을 USB로 연결
2. 태블릿에서 "USB 디버깅 허용" 팝업 승인
3. 자동으로 작업이 진행됨
4. 사용자 확인이 필요한 단계에서 안내 메시지 표시
5. 작업 완료 후 기기 연결 해제하면 자동으로 다음 기기 대기
1. **WiFi 설정** - 지정된 네트워크에 자동 연결 ### 4. 작업 흐름
2. **앱 정리** - T-Order, YouTube 등 불필요한 앱 제거
3. **시스템 최적화** - 애니메이션 비활성화, 화면 꺼짐 방지 #### STEP 1: 네트워크 설정 (WiFi)
- WiFi 활성화
- 지정된 SSID로 자동 연결
#### STEP 2: 앱 정리
- T-Order 관련 앱 자동 검색 및 제거
- YouTube, Google Keep, TeamViewer 등 불필요한 앱 제거
#### STEP 3: 시스템 최적화 (디지털 사이니지 모드)
- 애니메이션 효과 전체 비활성화
- 화면 상시 켜짐 설정 (타임아웃 무한대)
- 화면 밝기 최대 고정
- 자동 회전 활성화
- 터치 사운드/햅틱 피드백 비활성화
- 알림 숨김 모드 활성화
- 자동 업데이트 비활성화
- 절전 모드 비활성화
- USB 디버깅 유지 설정
#### STEP 4: 필수 앱 설치 및 배경화면
- Synology Photos 앱 설치 (미설치 시)
- MacroDroid 앱 설치 (미설치 시)
- 배경화면 설정 앱 실행
- **사용자 확인**: 태블릿에서 앱 선택 및 배경화면 설정 완료 후 키 입력
#### STEP 5: MacroDroid 권한 설정
- 시스템 설정 쓰기 권한
- 다른 앱 위에 표시 권한
- 사용 기록 접근 권한
- 방해 금지 모드 접근 권한
- 알림 리스너 서비스 권한
- 접근성 서비스 활성화
#### STEP 6: MacroDroid 매크로 프로필 전송
- 매크로 설정 파일을 Download 폴더로 전송
#### 작업 완료
- 기기 연결 해제 감지
- 3초 후 자동으로 새로운 기기 대기 상태로 전환
- **Ctrl + C**로 언제든지 전체 작업 종료 가능
## ⚙️ 설정 변경
`setup.bat` 파일 상단의 설정 영역에서 다음 값들을 수정할 수 있습니다:
```bat
:: --- [설정 영역] ---
set "DEBUG_MODE=OFF" # 디버그 모드 (ON/OFF)
set "SSID=fg" # WiFi SSID
set "PW=Fg9576861!" # WiFi 비밀번호
set "PKG_MD=com.arlosoft.macrodroid" # MacroDroid 패키지명
set "PKG_PHOTOS=com.synology.projectkailash" # Photos 패키지명
set "TARGET_MODEL=ITAB_X40L_Plus" # 대상 기기 모델
```
## 🔧 문제 해결
### ADB를 찾을 수 없음
- `sdk/` 폴더에 `adb.exe`가 있는지 확인
- Android SDK Platform Tools 다운로드 필요
### 기기가 인식되지 않음
- USB 디버깅이 활성화되어 있는지 확인
- USB 케이블이 데이터 전송을 지원하는지 확인
- 태블릿에서 "USB 디버깅 허용" 팝업 승인 필요
### 호환되지 않는 모델 오류
- 현재 `ITAB_X40L_Plus` 모델만 지원
- 다른 모델 사용 시 `TARGET_MODEL` 설정 변경 필요
### 배경화면 설정이 스킵됨
- 앱 실행 후 3초 대기 시간이 자동으로 추가됨
- 사용자가 배경화면 앱을 선택하고 설정 완료 후 키 입력 필요
## 📝 참고사항
- 작업 중 태블릿 연결을 해제하지 마세요
- 네트워크 설정은 WiFi만 지원합니다
- 모든 설정은 ADB 명령어로 수행되므로 인터넷 연결이 필요하지 않습니다
- 디버그 모드를 ON으로 설정하면 모든 명령어 출력을 확인할 수 있습니다
## 📜 라이선스
이 프로젝트는 내부 사용을 위한 도구입니다.
## 🙋 문의
문제가 발생하거나 개선 사항이 있으면 이슈를 등록해 주세요.
- USB 디버깅 유지 설정
#### STEP 4: 필수 앱 설치 및 배경화면
- Synology Photos 앱 설치 (미설치 시)
- MacroDroid 앱 설치 (미설치 시)
- 배경화면 설정 앱 실행
- **사용자 확인**: 태블릿에서 앱 선택 및 배경화면 설정 완료 후 키 입력
#### STEP 5: MacroDroid 권한 설정
- 시스템 설정 쓰기 권한
- 다른 앱 위에 표시 권한
- 사용 기록 접근 권한
- 방해 금지 모드 접근 권한
- 알림 리스너 서비스 권한
- 접근성 서비스 활성화
#### STEP 6: MacroDroid 매크로 프로필 전송
- 매크로 설정 파일을 Download 폴더로 전송
4. **앱 설치** - MacroDroid, Synology Photos 설치 4. **앱 설치** - MacroDroid, Synology Photos 설치
5. **배경화면 설정** - 지정된 이미지로 배경화면 변경 5. **배경화면 설정** - 지정된 이미지로 배경화면 변경
6. **권한 자동 부여** - MacroDroid 권한 자동 설정 6. **권한 자동 부여** - MacroDroid 권한 자동 설정

View File

@ -3,7 +3,10 @@ title T-Order Tablet Automation Tool (Multi-Device Loop)
chcp 949 > nul chcp 949 > nul
:: --- [<5B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>] --- :: --- [<5B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>] ---
set "DEBUG_MODE=OFF" :: set "DEBUG_MODE=False" True<75><65> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ȱ<><C8B0>ȭ (<28><><EFBFBD>ɾ<EFBFBD> <20><><EFBFBD><EFBFBD>)
:: set "CONTINUOUS_MODE=False" True<75><65> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ݺ<EFBFBD>)
set "DEBUG_MODE=False"
set "CONTINUOUS_MODE=False"
set "SSID=fg" set "SSID=fg"
set "PW=Fg9576861!" set "PW=Fg9576861!"
set "PKG_MD=com.arlosoft.macrodroid" set "PKG_MD=com.arlosoft.macrodroid"
@ -21,7 +24,7 @@ set "MD_APK=%DATA_DIR%macrodroid.apk"
set "ADB=%SDK_DIR%adb.exe" set "ADB=%SDK_DIR%adb.exe"
:: ------------------ :: ------------------
if "%DEBUG_MODE%"=="ON" (set "LOG=") else (set "LOG=>nul 2>&1") if "%DEBUG_MODE%"=="True" (set "LOG=") else (set "LOG=>nul 2>&1")
:: SDK <20><><EFBFBD><EFBFBD> Ȯ<><C8AE> :: SDK <20><><EFBFBD><EFBFBD> Ȯ<><C8AE>
if not exist "%ADB%" ( if not exist "%ADB%" (
echo [<5B><><EFBFBD><EFBFBD>] ADB<44><42> ã<><C3A3> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>: %ADB% echo [<5B><><EFBFBD><EFBFBD>] ADB<44><42> ã<><C3A3> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>: %ADB%
@ -34,10 +37,14 @@ if not exist "%ADB%" (
cls cls
echo =========================================================== echo ===========================================================
echo T-Order <20>º<EFBFBD><C2BA><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD>ȭ <20>ý<EFBFBD><C3BD><EFBFBD> echo T-Order <20>º<EFBFBD><C2BA><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD>ȭ <20>ý<EFBFBD><C3BD><EFBFBD>
echo (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: %DEBUG_MODE% / <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ȱ<><C8B0>) echo (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %DEBUG_MODE% / <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: %CONTINUOUS_MODE%)
echo =========================================================== echo ===========================================================
echo * <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> <20>۾<EFBFBD><DBBE><EFBFBD> <20><><EFBFBD>۵˴ϴ<CBB4>. if "%CONTINUOUS_MODE%"=="True" (
echo * <20><><EFBFBD><EFBFBD> <20>۾<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD> <20><> â<><C3A2><EFBFBD><EFBFBD> [Ctrl + C]<5D><> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>. echo * <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> <20>۾<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>۵˴ϴ<EFBFBD>.
echo * <20><><EFBFBD><EFBFBD> <20>۾<EFBFBD><DBBE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD> <20><> â<><C3A2><EFBFBD><EFBFBD> [Ctrl + C]<5D><> <20><><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>.
) else (
echo * <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>⸸ ó<><C3B3><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
)
echo =========================================================== echo ===========================================================
:CHECK_DEVICE :CHECK_DEVICE
@ -84,7 +91,7 @@ for %%a in (com.google.android.youtube com.google.android.projection.gearhead co
echo [<5B><><EFBFBD><EFBFBD>] %%a - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. echo [<5B><><EFBFBD><EFBFBD>] %%a - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
"%ADB%" shell "am force-stop %%a; pm clear %%a; pm uninstall --user 0 %%a; pm disable-user --user 0 %%a" %LOG% "%ADB%" shell "am force-stop %%a; pm clear %%a; pm uninstall --user 0 %%a; pm disable-user --user 0 %%a" %LOG%
) else ( ) else (
if "%DEBUG_MODE%"=="ON" echo [<5B><>ŵ] %%a - <20>̹<EFBFBD> <20><><EFBFBD><EFBFBD>. if "%DEBUG_MODE%"=="True" echo [<5B><>ŵ] %%a - <20>̹<EFBFBD> <20><><EFBFBD><EFBFBD>.
) )
) )
echo ^> STEP 2 <20>Ϸ<EFBFBD> echo ^> STEP 2 <20>Ϸ<EFBFBD>
@ -122,13 +129,14 @@ echo ^> USB
echo ^> STEP 3 <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD>ȭ <20>Ϸ<EFBFBD> echo ^> STEP 3 <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD>ȭ <20>Ϸ<EFBFBD>
echo. echo.
echo STEP 4. <20>ʼ<EFBFBD> <20><> <20><>ġ <20><> <20><><EFBFBD><EFBFBD>ȭ<EFBFBD><C8AD> echo STEP 4. <20>ʼ<EFBFBD> <20><> <20><>ġ
echo ----------------------------------------------------------- echo -----------------------------------------------------------
"%ADB%" shell pm list packages %PKG_PHOTOS% | findstr /c:"%PKG_PHOTOS%" >nul "%ADB%" shell pm list packages %PKG_PHOTOS% | findstr /c:"%PKG_PHOTOS%" >nul
if errorlevel 1 ( if errorlevel 1 (
if exist "%PHOTOS_APK%" ( if exist "%PHOTOS_APK%" (
echo ^> Photos <20><>ġ <20><>... echo ^> Photos <20><>ġ <20><>...
"%ADB%" install -r "%PHOTOS_APK%" "%ADB%" install -r "%PHOTOS_APK%"
echo ^> Photos <20><>ġ <20>Ϸ<EFBFBD>
) )
) )
@ -137,21 +145,10 @@ if errorlevel 1 (
if exist "%MD_APK%" ( if exist "%MD_APK%" (
echo ^> MacroDroid <20><>ġ <20><>... echo ^> MacroDroid <20><>ġ <20><>...
"%ADB%" install -r "%MD_APK%" "%ADB%" install -r "%MD_APK%"
echo ^> MacroDroid <20><>ġ <20>Ϸ<EFBFBD>
) )
) )
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 ^> [<5B><><EFBFBD><EFBFBD>] <20>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȭ<EFBFBD><C8AD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>.
echo ^> <20>Ϸ<EFBFBD><CFB7>Ǹ<EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ܰ<EFBFBD><DCB0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>˴ϴ<CBB4>...
:WAIT_WP
timeout /t 1 > nul
"%ADB%" shell dumpsys window | findstr "mCurrentFocus" | findstr /i "resolver chooser wallpaper StandalonePreviewActivity WallpaperCrop" >nul
if not errorlevel 1 goto WAIT_WP
echo ^> <20><><EFBFBD><EFBFBD>ȭ<EFBFBD><C8AD> <20><><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD>
)
echo. echo.
echo STEP 5. MacroDroid <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> echo STEP 5. MacroDroid <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
echo ----------------------------------------------------------- echo -----------------------------------------------------------
@ -169,28 +166,38 @@ echo.
echo STEP 6. MacroDroid <20><>ũ<EFBFBD><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> echo STEP 6. MacroDroid <20><>ũ<EFBFBD><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
echo ----------------------------------------------------------- echo -----------------------------------------------------------
if exist "%MDR_FILE%" ( if exist "%MDR_FILE%" (
"%ADB%" push "%MDR_FILE%" /sdcard/Download/ %LOG% echo ^> <20><>ũ<EFBFBD><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>...
"%ADB%" push "%MDR_FILE%" /sdcard/Download/
echo ^> <20><>ũ<EFBFBD><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD> echo ^> <20><>ũ<EFBFBD><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD>
) else ( ) else (
echo ^> [<5B><><EFBFBD><EFBFBD>] <20><>ũ<EFBFBD><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>: %MDR_FILE% echo ^> [<5B><><EFBFBD><EFBFBD>] <20><>ũ<EFBFBD><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>: %MDR_FILE%
) )
echo. echo.
echo STEP 7. <20><> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> echo STEP 7. <20><><EFBFBD><EFBFBD>ȭ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
echo ----------------------------------------------------------- echo -----------------------------------------------------------
echo [1/2] <20>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD> <20><><EFBFBD><EFBFBD>... if exist "%WP_FILE%" (
"%ADB%" shell am start -n %PKG_PHOTOS%/com.synology.projectkailash.ui.splash.SplashActivity %LOG% echo ^> <20><><EFBFBD><EFBFBD>ȭ<EFBFBD><C8AD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>...
echo ^> [<5B><><EFBFBD><EFBFBD>] Synology Photos <20>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>. "%ADB%" push "%WP_FILE%" /data/local/tmp/wallpaper.jpg
echo ^> <20>Ϸ<EFBFBD> <20><> <20>ƹ<EFBFBD> Ű<><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MacroDroid<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>˴ϴ<EFBFBD>... echo ^> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȭ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>...
pause > nul "%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 [2/2] <20><>ũ<EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD> <20><><EFBFBD><EFBFBD>... echo ^> <20><><EFBFBD><EFBFBD>ȭ<EFBFBD><C8AD> <20><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
"%ADB%" shell monkey -p %PKG_MD% -c android.intent.category.LAUNCHER 1 %LOG% ) else (
echo ^> [<5B><><EFBFBD><EFBFBD>] <20><><EFBFBD><EFBFBD>ȭ<EFBFBD><C8AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>: %WP_FILE%
)
echo. echo.
echo =========================================================== echo ===========================================================
echo [%TIME%] <20><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD>! echo [%TIME%] <20>ʱ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD>!
echo <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>·<EFBFBD> <20><>ȯ<EFBFBD>˴ϴ<EFBFBD>. echo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ּ<EFBFBD><D6BC><EFBFBD>.
echo =========================================================== echo ===========================================================
echo.
echo [<5B>ȳ<EFBFBD>] <20>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>۾<EFBFBD><DBBE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ּ<EFBFBD><D6BC><EFBFBD>:
echo 1. <20><><EFBFBD><EFBFBD>ȭ<EFBFBD><C8AD> <20><><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD> (<28><><EFBFBD><EFBFBD> <20>ۿ<EFBFBD><DBBF><EFBFBD>)
echo 2. <20><> <20><><EFBFBD>ξ<CEBE><EEBFA1> 'Synology Photos'<27><> 'MacroDroid' ã<><C3A3>
echo 3. <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD> Ȩ ȭ<><20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD>
echo 4. MacroDroid<69><64><EFBFBD><EFBFBD> <20><>ũ<EFBFBD><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD>
echo.
:WAIT_DISCONNECT :WAIT_DISCONNECT
"%ADB%" devices | findstr /v "List" | findstr "device" > nul "%ADB%" devices | findstr /v "List" | findstr "device" > nul
@ -199,6 +206,12 @@ if not errorlevel 1 (
goto WAIT_DISCONNECT goto WAIT_DISCONNECT
) )
echo [<5B>˸<EFBFBD>] <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. 3<><33> <20><> <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>·<EFBFBD> <20><><EFBFBD>ư<EFBFBD><C6B0>ϴ<EFBFBD>. if "%CONTINUOUS_MODE%"=="True" (
timeout /t 3 echo [<5B>˸<EFBFBD>] <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. 3<><33> <20><> <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>·<EFBFBD> <20><><EFBFBD>ư<EFBFBD><C6B0>ϴ<EFBFBD>.
goto LOOP_START timeout /t 3
goto LOOP_START
) else (
echo [<5B>˸<EFBFBD>] <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
pause
exit /b 0
)