147 lines
4.5 KiB
Batchfile
147 lines
4.5 KiB
Batchfile
@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
|
||
|