36 lines
1.3 KiB
Bash
Executable File
36 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
||
# 定义变量
|
||
PROJECT_DIR=$(pwd) # 当前项目根目录
|
||
OUTPUT_DIR="/Users/cyh/Documents/buildApp" # 自定义输出目录
|
||
FLAVORS=("3229" "9972" "6789" "9583" "9707" "9059" "5352" "8300" "7595" "1525" "5599" "6981" "7161" "7669" "1133" "2917" "8937" "6768" "6193" "6507" ) # 渠道列表
|
||
#FLAVORS=("11111" ) # 渠道列表
|
||
BUILD_TYPE="Release" # 构建类型:Debug 或 Release
|
||
|
||
# 清理旧的构建产物
|
||
echo "清理旧的构建产物..."
|
||
./gradlew clean
|
||
|
||
# 创建输出目录
|
||
mkdir -p "${OUTPUT_DIR}"
|
||
|
||
# 遍历渠道列表并打包
|
||
for FLAVOR in "${FLAVORS[@]}"
|
||
do
|
||
echo "正在打包渠道: ${FLAVOR} (${BUILD_TYPE})..."
|
||
./gradlew assemble${FLAVOR}${BUILD_TYPE}
|
||
# 查找生成的 APK
|
||
FLAVOR_LOWER=$(echo "${FLAVOR}" | tr '[:upper:]' '[:lower:]')
|
||
BUILD_TYPE_LOWER=$(echo "${BUILD_TYPE}" | tr '[:upper:]' '[:lower:]')
|
||
APK_PATH=$(find "${PROJECT_DIR}/app/build/outputs/apk/${FLAVOR_LOWER}/${BUILD_TYPE_LOWER}" -name "*.apk" | head -n 1)
|
||
|
||
# 检查是否成功生成 APK
|
||
if [ -f "${APK_PATH}" ]; then
|
||
# 定义自定义输出文件名
|
||
cp "${APK_PATH}" "${OUTPUT_DIR}/"
|
||
else
|
||
echo "❌ 渠道 ${FLAVOR} 打包失败,未找到 APK 文件。"
|
||
fi
|
||
done
|
||
|
||
echo "所有渠道打包完成,APK 文件存储在: ${OUTPUT_DIR}"
|