Files

46 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -e
cd "$(dirname "$0")"
PROJECT_DIR="$(pwd)"
APP_DIR="$PROJECT_DIR/app"
OUTPUT_DIR="/vol2/1000/HD2/APK"
# 读取版本号
VERSION=$(cat VERSION 2>/dev/null || echo 0)
NEXT=$((VERSION + 1))
echo "========== Favorites APK Builder =========="
echo " 当前版本: v$VERSION → v$NEXT"
echo " 目标目录: $OUTPUT_DIR"
echo ""
export ANDROID_HOME=/opt/android-sdk
export ANDROID_SDK_ROOT=/opt/android-sdk
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
# 更新 build.gradle.kts 中的 versionCode 和 versionName
sed -i "s/versionCode = [0-9]*/versionCode = $NEXT/" "$APP_DIR/build.gradle.kts"
sed -i "s/versionName = \"[0-9.]*\"/versionName = \"1.0.$NEXT\"/" "$APP_DIR/build.gradle.kts"
# 构建
echo ">>> 开始构建..."
/opt/gradle-8.5/bin/gradle --no-daemon -p "$PROJECT_DIR" :app:assembleRelease 2>&1
echo ""
echo ">>> 构建完成!"
# 复制到目标目录
APK_SRC="$PROJECT_DIR/app/build/outputs/apk/release/app-release.apk"
APK_DST="$OUTPUT_DIR/favorites_v${NEXT}.apk"
mkdir -p "$OUTPUT_DIR"
cp "$APK_SRC" "$APK_DST"
# 写入新版本号
echo "$NEXT" > VERSION
echo ""
echo "========== 成功 =========="
echo " APK: $APK_DST"
ls -lh "$APK_DST"
echo "==========================="