91 lines
3.2 KiB
Bash
Executable File
91 lines
3.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# @author juntao
|
||
# @2020.10.29
|
||
|
||
git_sha=`git rev-parse --short HEAD`
|
||
versionName=$(awk -v FS="versionName = " 'NF>1{print $2}' dependencies.gradle | sed "s/\"//g")
|
||
versionCode=$(awk -v FS="versionCode = " 'NF>1{print $2}' dependencies.gradle | sed "s/\"//g")
|
||
build_time=$(TZ=Asia/Shanghai date +'%Y-%m%d-%H%M')
|
||
|
||
# 重置 app build.gradle
|
||
git checkout app/build.gradle
|
||
# 重置 module_common build.gradle
|
||
git checkout module_common/build.gradle
|
||
# 重置 module_sensors_data build.gradle
|
||
git checkout module_sensors_data/build.gradle
|
||
|
||
# 开启 mapping 上传
|
||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||
sed -i '' "1s|^|plugins { id \"io.sentry.android.gradle\" version \"3.7.0\" }\n|" app/build.gradle
|
||
else
|
||
sed -i '1 a plugins { id "io.sentry.android.gradle" version "3.7.0" }' app/build.gradle
|
||
fi
|
||
|
||
./gradlew --stop
|
||
./gradlew clean
|
||
|
||
BUILD_VARIANT_ENV=publish
|
||
BUILD_VARIANT_REGION=cn
|
||
BUILD_APK_CHANNEL_NAME=标准正式包
|
||
BUILD_PUSH_TYPE=jg
|
||
BUILD_WITH_INIT_GRADLE=true
|
||
|
||
# 添加 -t 指定编译环境,可选值:t: 头条 k: 快手 g: 广点通
|
||
# 添加 -r 指定区域,可选值: cn: 中国大陆 gat: 港澳台
|
||
# 添加 -p 指定推送类型 可选值: jg: 极光推送 ac: 阿里云推送
|
||
while getopts "t:r:p:" arg
|
||
do
|
||
case ${arg} in
|
||
t)
|
||
case $OPTARG in
|
||
t)
|
||
BUILD_VARIANT_ENV=tea
|
||
BUILD_APK_CHANNEL_NAME=头条推广正式包
|
||
;;
|
||
k)
|
||
BUILD_VARIANT_ENV=kuaishou
|
||
BUILD_APK_CHANNEL_NAME=快手推广正式包
|
||
;;
|
||
g)
|
||
sed -i '/android:name="android.permission.READ_PHONE_STATE"/{n;s/tools:node="remove" \/>/\/>/;}' app/src/main/AndroidManifest.xml
|
||
BUILD_WITH_INIT_GRADLE=false
|
||
BUILD_VARIANT_ENV=gdt
|
||
BUILD_APK_CHANNEL_NAME=广点通推广正式包
|
||
;;
|
||
esac
|
||
;;
|
||
r)
|
||
case $OPTARG in
|
||
gat) BUILD_VARIANT_REGION=gat
|
||
;;
|
||
*) BUILD_VARIANT_REGION=cn
|
||
;;
|
||
esac
|
||
;;
|
||
p)
|
||
case $OPTARG in
|
||
jg) BUILD_PUSH_TYPE=jg
|
||
;;
|
||
*) BUILD_PUSH_TYPE=ac
|
||
;;
|
||
esac
|
||
;;
|
||
esac
|
||
done
|
||
|
||
# 不存在指令时打普通包
|
||
if [ $BUILD_WITH_INIT_GRADLE == false ]; then
|
||
./gradlew assemble${BUILD_VARIANT_ENV}${BUILD_VARIANT_REGION^}Release -PBUILD_PUSH_TYPE=${BUILD_PUSH_TYPE}
|
||
else
|
||
./gradlew assemble${BUILD_VARIANT_ENV}${BUILD_VARIANT_REGION^}Release -I init.gradle -PBUILD_PUSH_TYPE=${BUILD_PUSH_TYPE} --no-daemon
|
||
fi
|
||
|
||
mkdir -p release-app/${versionName}_${versionCode}
|
||
cp -R app/build/outputs/apk/${BUILD_VARIANT_ENV}${BUILD_VARIANT_REGION^}/release/app-${BUILD_VARIANT_ENV}-${BUILD_VARIANT_REGION}-release.apk release-app/${versionName}_${versionCode}/光环助手_${versionName}_${versionCode}_${BUILD_APK_CHANNEL_NAME}_${git_sha}_${build_time}.apk
|
||
|
||
# 重置 app build.gradle
|
||
git checkout app/build.gradle
|
||
# 重置 module_common build.gradle
|
||
git checkout module_common/build.gradle
|
||
# 重置 module_sensors_data build.gradle
|
||
git checkout module_sensors_data/build.gradle |