refactor: 更新打包脚本
This commit is contained in:
@ -2,12 +2,16 @@
|
||||
# @author juntao
|
||||
# @2023.03.06
|
||||
|
||||
git_sha=`git rev-parse --short HEAD`
|
||||
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')
|
||||
|
||||
cwd=$(cd "$(dirname "$0")"; pwd)
|
||||
PACKAGE_NAME=$(sed -n "$(sed -n "/^[[:blank:]]*applicationId/=" dependencies.gradle)p" dependencies.gradle | awk -F '=' '{print $NF}' | sed "s/[[:blank:]]*[\"']*//g")
|
||||
MODULE_VERSION=$(sed -n "$(sed -n "/^[[:blank:]]*VA_VERSION[^_]/=" dependencies_vasdk.gradle)p" dependencies_vasdk.gradle | awk -F '=' '{print $NF}' | sed "s/[[:blank:]]*[\"']*//g")
|
||||
cwd=$(
|
||||
cd "$(dirname "$0")"
|
||||
pwd
|
||||
)
|
||||
apk_release_path=""
|
||||
|
||||
# 重置 app build.gradle
|
||||
@ -19,41 +23,103 @@ git checkout module_sensors_data/build.gradle
|
||||
|
||||
# 开启 mapping 上传
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
sed -i '' '1 a plugins { id "io.sentry.android.gradle" version "2.1.5" }' app/build.gradle
|
||||
sed -i '' 's/var isTestBuild = true/var isTestBuild = false/g' module_sensors_data/build.gradle
|
||||
sed -i '' '1 a plugins { id "io.sentry.android.gradle" version "2.1.5" }' app/build.gradle
|
||||
sed -i '' 's/var isTestBuild = true/var isTestBuild = false/g' module_sensors_data/build.gradle
|
||||
else
|
||||
sed -i '1 a plugins { id "io.sentry.android.gradle" version "2.1.5" }' app/build.gradle
|
||||
sed -i 's/var isTestBuild = true/var isTestBuild = false/g' module_sensors_data/build.gradle
|
||||
sed -i '1 a plugins { id "io.sentry.android.gradle" version "2.1.5" }' app/build.gradle
|
||||
sed -i 's/var isTestBuild = true/var isTestBuild = false/g' module_sensors_data/build.gradle
|
||||
fi
|
||||
|
||||
./gradlew --stop
|
||||
./gradlew clean
|
||||
|
||||
mkdir -p release/
|
||||
|
||||
OPTIONS=$(getopt -o '' -l config_id:,sdk_platform:,sdk_version:,app_id:,app_name:,channel:,activate_reporting_ratio:,first_launch_jump:,output:,unix_timestamp:,sdk_type:,keypoint_action_reporting:, -- "$@")
|
||||
OPTIONS=$(getopt -o '' -l config_id:,sdk_platform:,sdk_version:,app_id:,app_name:,channel:,activate_reporting_ratio:,first_launch_jump:,output:,unix_timestamp:,sdk_type:,keypoint_action_reporting:,va_version:,va_url:, -- "$@")
|
||||
|
||||
eval set -- "$OPTIONS"
|
||||
|
||||
while true; do
|
||||
case "$1" in
|
||||
--config_id) config_id="$2"; shift 2;;
|
||||
--sdk_platform) sdk_platform="$2"; shift 2;;
|
||||
--sdk_version) sdk_version="$2"; shift 2;;
|
||||
--channel) channel="$2"; shift 2;;
|
||||
--activate_reporting_ratio) activate_reporting_ratio="$2"; shift 2;;
|
||||
--first_launch_jump) first_launch_jump="$2"; shift 2;;
|
||||
--output) output="$2"; shift 2;;
|
||||
--unix_timestamp) unix_timestamp="$2"; shift 2;;
|
||||
--app_id) app_id="$2"; shift 2;;
|
||||
--app_name) app_name="$2"; shift 2;;
|
||||
--sdk_type) sdk_type="$2"; shift 2;;
|
||||
--keypoint_action_reporting) keypoint_action_reporting="$2"; shift 2;;
|
||||
--) shift; break;;
|
||||
*) echo "Invalid option: $1" >&2; exit 1;;
|
||||
esac
|
||||
case "$1" in
|
||||
--config_id)
|
||||
config_id="$2"
|
||||
shift 2
|
||||
;;
|
||||
--sdk_platform)
|
||||
sdk_platform="$2"
|
||||
shift 2
|
||||
;;
|
||||
--sdk_version)
|
||||
sdk_version="$2"
|
||||
shift 2
|
||||
;;
|
||||
--channel)
|
||||
channel="$2"
|
||||
shift 2
|
||||
;;
|
||||
--activate_reporting_ratio)
|
||||
activate_reporting_ratio="$2"
|
||||
shift 2
|
||||
;;
|
||||
--first_launch_jump)
|
||||
first_launch_jump="$2"
|
||||
shift 2
|
||||
;;
|
||||
--output)
|
||||
output="$2"
|
||||
shift 2
|
||||
;;
|
||||
--unix_timestamp)
|
||||
unix_timestamp="$2"
|
||||
shift 2
|
||||
;;
|
||||
--app_id)
|
||||
app_id="$2"
|
||||
shift 2
|
||||
;;
|
||||
--app_name)
|
||||
app_name="$2"
|
||||
shift 2
|
||||
;;
|
||||
--sdk_type)
|
||||
sdk_type="$2"
|
||||
shift 2
|
||||
;;
|
||||
--keypoint_action_reporting)
|
||||
keypoint_action_reporting="$2"
|
||||
shift 2
|
||||
;;
|
||||
--va_version)
|
||||
va_version="$2"
|
||||
shift 2
|
||||
;;
|
||||
--va_url)
|
||||
va_url="$2"
|
||||
shift 2
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
break
|
||||
;;
|
||||
*)
|
||||
echo "Invalid option: $1" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
echo "==================== 打包配置的一些变量 ============================="
|
||||
echo "git_sha=$git_sha"
|
||||
echo "versionName=$versionName"
|
||||
echo "versionCode=$versionCode"
|
||||
echo "build_time=$build_time"
|
||||
echo "PACKAGE_NAME=$PACKAGE_NAME"
|
||||
echo "MODULE_VERSION=$MODULE_VERSION 这个是va组件版本号"
|
||||
echo "va_version=$va_version 这个是va插件版本"
|
||||
echo "cwd=$cwd"
|
||||
echo "=================================================================="
|
||||
|
||||
mkdir -p $output
|
||||
|
||||
function updateChannelIfNeeded {
|
||||
if [ "${channel}" != "" ]; then
|
||||
java -jar ${cwd}/ApkChannelPackage.jar put -c $channel $1 release
|
||||
@ -63,10 +129,7 @@ function updateChannelIfNeeded {
|
||||
fi
|
||||
}
|
||||
|
||||
# 保存 output 文件名
|
||||
if [ "${output}" != "" ]; then
|
||||
apk_release_path="$output"
|
||||
fi
|
||||
|
||||
|
||||
# 保存 config_id
|
||||
if [ "${config_id}" != "" ]; then
|
||||
@ -100,10 +163,11 @@ fi
|
||||
|
||||
# 是否选择了 sdk 类型
|
||||
if [ "${sdk_platform}" != "" ]; then
|
||||
apk_release_path="${output}/${PACKAGE_NAME}_${versionName}_${versionCode}_${channel}_${MODULE_VERSION}_${va_version}_${sdk_type}_${sdk_platform}_${sdk_version}_${unix_timestamp}.apk"
|
||||
if [ "${activate_reporting_ratio}" == "" ]; then
|
||||
activate_reporting_ratio="100"
|
||||
fi
|
||||
# 调整上报比例
|
||||
# 调整上报比例
|
||||
sed -i "s/int ACTIVATE_REPORTING_RATIO = 100/int ACTIVATE_REPORTING_RATIO = ${activate_reporting_ratio}/g" app/build.gradle
|
||||
|
||||
sed -i "s/String SDK_VERSION = \"\"/String SDK_VERSION = \"${sdk_version}\"/g" app/build.gradle
|
||||
@ -118,30 +182,35 @@ if [ "${sdk_platform}" != "" ]; then
|
||||
sed -i "s/bytedanceApplog = \"6.15.4\"/bytedanceApplog = \"${sdk_version}\"/g" dependencies.gradle
|
||||
fi
|
||||
|
||||
./gradlew aTR -I init.gradle
|
||||
./gradlew :app:aTR -I init.gradle
|
||||
|
||||
echo "${sdk_version}_${activate_reporting_ratio}_光环助手_${versionName}_${versionCode}_头条推广包_${git_sha}_${build_time}"
|
||||
|
||||
cp -R app/build/outputs/apk/tea/release/app-tea-release.apk "${apk_release_path}"
|
||||
fi
|
||||
fi
|
||||
# 广点通包
|
||||
if [ "${sdk_platform}" == "guangdiantong" ]; then
|
||||
|
||||
# 广点通 SDK 执行 ASM 后处理后会有问题
|
||||
./gradlew aGR
|
||||
./gradlew :app:aGR
|
||||
|
||||
echo "光环助手_${versionName}_${versionCode}_广点通推广包_${git_sha}_${build_time}"
|
||||
cp -R app/build/outputs/apk/gdt/release/app-gdt-release.apk "${apk_release_path}"
|
||||
fi
|
||||
# 快手包
|
||||
if [ "${sdk_platform}" == "kuaishou" ]; then
|
||||
./gradlew aKR -I init.gradle
|
||||
./gradlew :app:aKR -I init.gradle
|
||||
|
||||
echo "光环助手_${versionName}_${versionCode}_快手推广包_${git_sha}_${build_time}"
|
||||
cp -R app/build/outputs/apk/kuaishou/release/app-kuaishou-release.apk "${apk_release_path}"
|
||||
fi
|
||||
|
||||
updateChannelIfNeeded ${apk_release_path}
|
||||
|
||||
else
|
||||
apk_release_path="${output}/${PACKAGE_NAME}_${versionName}_${versionCode}_${MODULE_VERSION}_${va_version}_${unix_timestamp}.apk"
|
||||
./gradlew :app:assemblePublishRelease -I init.gradle
|
||||
cp -R app/build/outputs/apk/publish/release/app-publish-release.apk "${apk_release_path}"
|
||||
fi
|
||||
|
||||
# 重置 app build.gradle
|
||||
@ -149,4 +218,4 @@ 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
|
||||
git checkout module_sensors_data/build.gradle
|
||||
|
||||
Reference in New Issue
Block a user