xinli/xinli-App/build-apk.bat
2025-11-23 10:19:32 +08:00

147 lines
4.5 KiB
Batchfile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@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