xinli/xinli-App/build-apk.bat

147 lines
4.5 KiB
Batchfile
Raw Normal View History

2025-11-23 10:19:32 +08:00
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
echo ========================================
echo 心理测试APP - APK打包工具
echo ========================================
echo.
REM 获取当前脚本所在目录的绝对路径
set "PROJECT_DIR=%~dp0"
set "PROJECT_DIR=%PROJECT_DIR:~0,-1%"
echo 请选择打包类型:
echo 1. Debug版本用于测试
echo 2. Release版本用于发布
echo.
set /p choice=请输入选项 (1 或 2):
if "%choice%"=="1" (
REM 检查gradlew.bat是否存在
if not exist "gradlew.bat" (
echo.
echo 错误:找不到 gradlew.bat 文件!
echo.
echo 请先运行以下脚本之一来初始化Gradle Wrapper
echo 1. 下载GradleWrapper.bat - 自动下载所需文件
echo 2. 初始化Gradle.bat - 使用gradle命令初始化需要先安装Gradle
echo.
echo 或者使用Android Studio打开项目它会自动生成Gradle Wrapper文件。
echo.
pause
exit /b 1
)
REM 检查gradle-wrapper.jar是否存在
if not exist "gradle\wrapper\gradle-wrapper.jar" (
echo.
echo 错误:找不到 gradle-wrapper.jar 文件!
echo.
echo 请运行 下载GradleWrapper.bat 来下载所需文件。
echo.
pause
exit /b 1
)
echo.
echo 正在打包Debug版本...
call gradlew.bat assembleDebug
if %errorlevel%==0 (
set "APK_PATH=%PROJECT_DIR%\app\build\outputs\apk\debug\app-debug.apk"
if exist "!APK_PATH!" (
echo.
echo ========================================
echo 打包成功!
echo.
echo 相对路径: app\build\outputs\apk\debug\app-debug.apk
echo 绝对路径: !APK_PATH!
echo.
echo 文件大小:
for %%A in ("!APK_PATH!") do echo %%~zA 字节
echo ========================================
echo.
echo 是否打开APK所在文件夹(Y/N)
set /p openFolder=
if /i "!openFolder!"=="Y" (
explorer /select,"!APK_PATH!"
)
) else (
echo.
echo 警告APK文件未找到
echo 预期位置: !APK_PATH!
echo 请检查构建日志中的错误信息
)
) else (
echo.
echo 打包失败,请检查错误信息
)
) else if "%choice%"=="2" (
REM 检查gradlew.bat是否存在
if not exist "gradlew.bat" (
echo.
echo 错误:找不到 gradlew.bat 文件!
echo.
echo 请先运行以下脚本之一来初始化Gradle Wrapper
echo 1. 下载GradleWrapper.bat - 自动下载所需文件
echo 2. 初始化Gradle.bat - 使用gradle命令初始化需要先安装Gradle
echo.
echo 或者使用Android Studio打开项目它会自动生成Gradle Wrapper文件。
echo.
pause
exit /b 1
)
REM 检查gradle-wrapper.jar是否存在
if not exist "gradle\wrapper\gradle-wrapper.jar" (
echo.
echo 错误:找不到 gradle-wrapper.jar 文件!
echo.
echo 请运行 下载GradleWrapper.bat 来下载所需文件。
echo.
pause
exit /b 1
)
echo.
echo 正在打包Release版本...
call gradlew.bat assembleRelease
if %errorlevel%==0 (
set "APK_PATH=%PROJECT_DIR%\app\build\outputs\apk\release\app-release.apk"
if exist "!APK_PATH!" (
echo.
echo ========================================
echo 打包成功!
echo.
echo 相对路径: app\build\outputs\apk\release\app-release.apk
echo 绝对路径: !APK_PATH!
echo.
echo 文件大小:
for %%A in ("!APK_PATH!") do echo %%~zA 字节
echo ========================================
echo.
echo 是否打开APK所在文件夹(Y/N)
set /p openFolder=
if /i "!openFolder!"=="Y" (
explorer /select,"!APK_PATH!"
)
) else (
echo.
echo 警告APK文件未找到
echo 预期位置: !APK_PATH!
echo 请检查构建日志中的错误信息
)
) else (
echo.
echo 打包失败,请检查错误信息
)
) else (
echo 无效的选项
pause
exit /b 1
)
echo.
pause