#!/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 "==========================="