完善打特殊包的脚本

This commit is contained in:
kehaoyuan
2018-11-26 17:12:11 +08:00
parent 11298d26e7
commit 26058934cd
2 changed files with 80 additions and 33 deletions

View File

@ -5,7 +5,7 @@ CWD=$(cd "$(dirname "$0")"; pwd)
# @author khy
# @2018.11.23
#
# 打特殊包
# 打特殊包(目前仅支持单个渠道)
#
# *****************************************************************************
@ -16,6 +16,16 @@ source ${CWD}/assemble_special_env.sh
# exit 0
#fi
read -p "TINKER_PATCH_VERSION_NAME:" TINKER_PATCH_VERSION_NAME
read -p "VERSION_NAME:" VERSION_NAME
read -p "VERSION_CODE:" VERSION_CODE
read -p "PACKAGE_NAME:" PACKAGE_NAME
read -p "APP_NAME:" APP_NAME
read -p "PATCH_DOWNLOAD_NAME:" PATCH_DOWNLOAD_NAME
read -p "PATCH_DOWNLOADING_NAME:" PATCH_DOWNLOADING_NAME
read -p "CHANNEL:" CHANNEL
echo "---------请再次确认,没有输入的既不修改---------"
echo "TINKER_PATCH_VERSION_NAME = ${TINKER_PATCH_VERSION_NAME}"
echo "VERSION_NAME = ${VERSION_NAME}"
echo "VERSION_CODE = ${VERSION_CODE}"
@ -23,15 +33,22 @@ echo "PACKAGE_NAME = ${PACKAGE_NAME}"
echo "APP_NAME = ${APP_NAME}"
echo "PATCH_DOWNLOAD_NAME = ${PATCH_DOWNLOAD_NAME}"
echo "PATCH_DOWNLOADING_NAME = ${PATCH_DOWNLOADING_NAME}"
echo "CHANNEL = ${CHANNEL}"
echo "-------------------------------------------"
#read -p "请确认修复的信息输入yes/no:" info
#
#echo ${info}
#
#if [[ ${info} != "yes" ]];then
# echo "-------------exit"
# exit 0
#fi
read -p "是否确认修信息输入yes/no:" check
echo ${check}
if [[ ${check} != "yes" ]];then
echo "-------------exit"
exit 0
fi
#备份需要修改的文件
cp ${CONFIG_FILE} ${BAK_CONFIG_FILE}
cp ${GRADLE_FILE} ${BAK_GRADLE_FILE}
cp ${STRINGS_FILE} ${BAK_STRINGS_FILE}
# 获取将被修改的内容(备份)
#BACKUP_VERSION_CODE=`grep -r versionCode ${CONFIG_FILE} | awk '{print $3}'`
@ -41,21 +58,48 @@ echo "PATCH_DOWNLOADING_NAME = ${PATCH_DOWNLOADING_NAME}"
#echo "${BACKUP_VERSION_CODE} ${BACKUP_VERSION_NAME} ${BACKUP_PACKAGE_NAME} ${BACKUP_TINKER_PATCH_VERSION_NAME}"
# 替换需要修改的字符
sed -i.bak "s/versionCode\ = \(.*\)/versionCode\ = ${VERSION_CODE}/g" ${CONFIG_FILE}
sed -i "s/versionName\ = \(.*\)/versionName\ = \"${VERSION_NAME}\"/g" ${CONFIG_FILE}
sed -i "s/applicationId\ = \(.*\)/applicationId\ = \"${PACKAGE_NAME}\"/g" ${CONFIG_FILE}
sed -i.bak "s/PATCH_VERSION_NAME\=\(.*\)/PATCH_VERSION_NAME\=${TINKER_PATCH_VERSION_NAME}/g" ${GRADLE_FILE}
sed -i "s/TINKER_ENABLE\=\(.*\)/TINKER_ENABLE\=1/g" ${GRADLE_FILE}
#sed -i.bak "s/>光环助手</>${APP_NAME}</g" ${STRINGS_FILE}
#sed -i "s/>下载</>${PATCH_DOWNLOAD_NAME}</g" ${STRINGS_FILE}
#sed -i "s/>下载中</>${PATCH_DOWNLOADING_NAME}</g" ${STRINGS_FILE}
if [[ -n "$TINKER_PATCH_VERSION_NAME" ]]; then
sed -i "s/PATCH_VERSION_NAME\=\(.*\)/PATCH_VERSION_NAME\=${TINKER_PATCH_VERSION_NAME}/g" ${GRADLE_FILE}
fi
if [[ -n "$VERSION_CODE" ]]; then
sed -i "s/versionCode\ = \(.*\)/versionCode\ = ${VERSION_CODE}/g" ${CONFIG_FILE}
fi
if [[ -n "$VERSION_NAME" ]]; then
sed -i "s/versionName\ = \(.*\)/versionName\ = \"${VERSION_NAME}\"/g" ${CONFIG_FILE}
fi
if [[ -n "$PACKAGE_NAME" ]]; then
sed -i "s/applicationId\ = \(.*\)/applicationId\ = \"${PACKAGE_NAME}\"/g" ${CONFIG_FILE}
fi
if [[ -n "$APP_NAME" ]]; then
sed -i "s/>光环助手</>${APP_NAME}</g" ${STRINGS_FILE}
fi
if [[ -n "$PATCH_DOWNLOAD_NAME" ]]; then
sed -i "s/>下载</>${PATCH_DOWNLOAD_NAME}</g" ${STRINGS_FILE}
fi
if [[ -n "$PATCH_DOWNLOADING_NAME" ]]; then
sed -i "s/>下载中</>${PATCH_DOWNLOADING_NAME}</g" ${STRINGS_FILE}
fi
sed -i "s/TINKER_ENABLE\=\(.*\)/TINKER_ENABLE\=1/g" ${GRADLE_FILE}
# 执行打包命令
${CMD_GRADLE_RELEASE}
if [[ -n "$CHANNEL" ]]; then
java -jar ${CWD}/ApkChannelPackage.jar put -c ${CHANNEL} ${SOURCE_APK_FILE} ${SOURCE_APK_PATH}
fi
#${CMD_GRADLE_RELEASE}
# 恢复文件
mv ${CONFIG_FILE}.bak ${CONFIG_FILE}
mv ${GRADLE_FILE}.bak ${GRADLE_FILE}
mv ${STRINGS_FILE}.bak ${STRINGS_FILE}
mv ${BAK_CONFIG_FILE} ${CONFIG_FILE}
mv ${BAK_GRADLE_FILE} ${GRADLE_FILE}
mv ${BAK_STRINGS_FILE} ${STRINGS_FILE}

View File

@ -9,18 +9,14 @@ CWD=$(cd "$(dirname "$0")"; pwd)
#
# *****************************************************************************
TINKER_PATCH_VERSION_NAME="3.0.1"
VERSION_NAME="3.0"
VERSION_CODE="30"
PACKAGE_NAME="com.gh.gamecenter.mark"
APP_NAME="光环助手特殊版"
PATCH_DOWNLOAD_NAME="加速"
PATCH_DOWNLOADING_NAME="加速中"
CHANNEL_ARRAY=("GH_120", "GH_130", "GH_130")
#默认参数 不要修改
DEFAULT_DOWNLOAD_NAME="下载"
DEFAULT_DOWNLOADING_NAME="下载中"
#TINKER_PATCH_VERSION_NAME="3.0.1"
#VERSION_NAME="3.0"
#VERSION_CODE="30"
#PACKAGE_NAME="com.gh.gamecenter.mark"
#APP_NAME="光环助手特殊版"
#PATCH_DOWNLOAD_NAME="加速"
#PATCH_DOWNLOADING_NAME="加速中"
#CHANNEL_ARRAY=("GH_120", "GH_130", "GH_130")
# 根目录是脚本文件所在的上一级(根目录)
PROJECT_BASE=${CWD}/../
@ -31,6 +27,13 @@ STRINGS_FILE=${PROJECT_BASE}/app/src/main/res/values/strings.xml
#DOWNLOAD_UTILS_FILE=${PROJECT_BASE}/app/src/main/java/com.gh.common.util/DownloadItemUtils.java
#GAME_UTILS_FILE=${PROJECT_BASE}/app/src/main/java/com.gh.common.util/GameUtils.java
SOURCE_APK_PATH=${PROJECT_BASE}/app/build/outputs/apk/publish/release/
SOURCE_APK_FILE=${SOURCE_APK_PATH}/app-publish-release.apk
BAK_CONFIG_FILE=${PROJECT_BASE}/dependencies.gradle.bak
BAK_GRADLE_FILE=${PROJECT_BASE}/gradle.properties.bak
BAK_STRINGS_FILE=${PROJECT_BASE}/strings.xml.bak
CMD_GRADLE_RELEASE="${PROJECT_BASE}/gradlew -b ${PROJECT_BASE}/build.gradle assemblePublishRelease"