127 lines
3.0 KiB
Batchfile
127 lines
3.0 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
echo ========================================
|
|
echo TSS Party Android APK Builder
|
|
echo ========================================
|
|
echo.
|
|
|
|
:: Check if gradlew exists
|
|
if not exist "gradlew.bat" (
|
|
echo [ERROR] gradlew.bat not found!
|
|
echo Please run this script from the service-party-android directory.
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
:: Parse command line arguments
|
|
set BUILD_TYPE=all
|
|
if "%1"=="debug" set BUILD_TYPE=debug
|
|
if "%1"=="release" set BUILD_TYPE=release
|
|
if "%1"=="clean" set BUILD_TYPE=clean
|
|
if "%1"=="help" goto :show_help
|
|
|
|
:: Show build type
|
|
echo Build type: %BUILD_TYPE%
|
|
echo.
|
|
|
|
:: Clean build
|
|
if "%BUILD_TYPE%"=="clean" (
|
|
echo [1/1] Cleaning build files...
|
|
call gradlew.bat clean --no-daemon
|
|
if !errorlevel! neq 0 (
|
|
echo [ERROR] Clean failed!
|
|
pause
|
|
exit /b 1
|
|
)
|
|
echo.
|
|
echo [SUCCESS] Clean completed!
|
|
goto :end
|
|
)
|
|
|
|
:: Build Debug APK
|
|
if "%BUILD_TYPE%"=="debug" goto :build_debug
|
|
if "%BUILD_TYPE%"=="all" goto :build_debug
|
|
goto :check_release
|
|
|
|
:build_debug
|
|
echo [1/2] Building Debug APK...
|
|
call gradlew.bat assembleDebug --no-daemon
|
|
if !errorlevel! neq 0 (
|
|
echo [ERROR] Debug build failed!
|
|
pause
|
|
exit /b 1
|
|
)
|
|
echo [SUCCESS] Debug APK built successfully!
|
|
echo Location: app\build\outputs\apk\debug\app-debug.apk
|
|
echo.
|
|
|
|
:check_release
|
|
if "%BUILD_TYPE%"=="debug" goto :show_results
|
|
|
|
:: Build Release APK
|
|
:build_release
|
|
echo [2/2] Building Release APK...
|
|
call gradlew.bat assembleRelease --no-daemon
|
|
if !errorlevel! neq 0 (
|
|
echo [ERROR] Release build failed!
|
|
pause
|
|
exit /b 1
|
|
)
|
|
echo [SUCCESS] Release APK built successfully!
|
|
echo Location: app\build\outputs\apk\release\app-release.apk
|
|
echo.
|
|
|
|
:show_results
|
|
echo ========================================
|
|
echo Build Results
|
|
echo ========================================
|
|
echo.
|
|
|
|
:: Check and show Debug APK
|
|
if exist "app\build\outputs\apk\debug\app-debug.apk" (
|
|
for %%F in ("app\build\outputs\apk\debug\app-debug.apk") do (
|
|
echo [DEBUG APK]
|
|
echo Path: %%~fF
|
|
echo Size: %%~zF bytes
|
|
)
|
|
echo.
|
|
)
|
|
|
|
:: Check and show Release APK
|
|
if exist "app\build\outputs\apk\release\app-release.apk" (
|
|
for %%F in ("app\build\outputs\apk\release\app-release.apk") do (
|
|
echo [RELEASE APK]
|
|
echo Path: %%~fF
|
|
echo Size: %%~zF bytes
|
|
)
|
|
echo.
|
|
)
|
|
|
|
echo ========================================
|
|
echo Build completed successfully!
|
|
echo ========================================
|
|
goto :end
|
|
|
|
:show_help
|
|
echo.
|
|
echo Usage: build-apk.bat [option]
|
|
echo.
|
|
echo Options:
|
|
echo debug - Build debug APK only
|
|
echo release - Build release APK only
|
|
echo all - Build both debug and release APKs (default)
|
|
echo clean - Clean build files
|
|
echo help - Show this help message
|
|
echo.
|
|
echo Examples:
|
|
echo build-apk.bat - Build both APKs
|
|
echo build-apk.bat debug - Build debug APK only
|
|
echo build-apk.bat release - Build release APK only
|
|
echo build-apk.bat clean - Clean project
|
|
echo.
|
|
|
|
:end
|
|
echo.
|
|
pause
|