feat:发布脚本清理旧 apk
This commit is contained in:
@@ -13,11 +13,11 @@ android {
|
||||
applicationId = "com.memory.app"
|
||||
minSdk = 26
|
||||
targetSdk = 35
|
||||
versionCode = 22
|
||||
versionName = "1.3.8"
|
||||
versionCode = 23
|
||||
versionName = "1.3.9"
|
||||
|
||||
buildConfigField("String", "API_BASE_URL", "\"https://x.amos.us.kg/api/\"")
|
||||
buildConfigField("int", "VERSION_CODE", "22")
|
||||
buildConfigField("int", "VERSION_CODE", "23")
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
|
||||
36
release.sh
36
release.sh
@@ -137,6 +137,39 @@ upload_to_r2() {
|
||||
echo "${R2_PUBLIC_URL}/${remote_path}"
|
||||
}
|
||||
|
||||
# 清理旧版本 APK,只保留最新的 3 个
|
||||
cleanup_old_apks() {
|
||||
echo "🧹 清理旧版本 APK..."
|
||||
|
||||
# 列出所有 APK 文件,按时间倒序排列
|
||||
local apk_list=$(AWS_ACCESS_KEY_ID=$R2_ACCESS_KEY_ID \
|
||||
AWS_SECRET_ACCESS_KEY=$R2_ACCESS_KEY_SECRET \
|
||||
aws s3 ls "s3://${R2_BUCKET_NAME}/releases/" \
|
||||
--endpoint-url "https://${R2_ACCOUNT_ID}.r2.cloudflarestorage.com" \
|
||||
| grep "memory-.*\.apk" \
|
||||
| sort -r \
|
||||
| awk '{print $4}')
|
||||
|
||||
# 跳过前 3 个(最新的),删除其余的
|
||||
local count=0
|
||||
for apk in $apk_list; do
|
||||
count=$((count + 1))
|
||||
if [ $count -gt 3 ]; then
|
||||
echo " 删除: $apk"
|
||||
AWS_ACCESS_KEY_ID=$R2_ACCESS_KEY_ID \
|
||||
AWS_SECRET_ACCESS_KEY=$R2_ACCESS_KEY_SECRET \
|
||||
aws s3 rm "s3://${R2_BUCKET_NAME}/releases/${apk}" \
|
||||
--endpoint-url "https://${R2_ACCOUNT_ID}.r2.cloudflarestorage.com"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $count -le 3 ]; then
|
||||
echo " 无需清理,当前共 ${count} 个版本"
|
||||
else
|
||||
echo "✅ 已清理 $((count - 3)) 个旧版本"
|
||||
fi
|
||||
}
|
||||
|
||||
# 更新服务器版本信息,返回 0 成功,1 失败
|
||||
update_server_version() {
|
||||
local version_code=$1
|
||||
@@ -249,6 +282,9 @@ if [ "$BUILD_APK" = true ]; then
|
||||
# 上传 APK
|
||||
upload_to_r2 $new_version
|
||||
echo "✅ 上传完成: $download_url"
|
||||
|
||||
# 清理旧版本
|
||||
cleanup_old_apks
|
||||
|
||||
echo ""
|
||||
echo "🎉 APK 发布完成!"
|
||||
|
||||
Reference in New Issue
Block a user