#!/bin/bash
source build/envsetup.sh > /dev/null
#Author:@tuliyuan 975150240@qq.com
#日志输出TAG
_TAG_SHELL_="[VTECH_AUTO_LOG]"
#输出的修改记录文件名称为
PROJECT_VERSION_LOG_FILE_NAME="version_log.txt"
#产品名称
PROJECT_PRODUCT_INFO=$(get_build_var TARGET_PRODUCT)
#编译版本类型 eng/userdebug/user
PROJECT_BUILD_TYPE=$(get_build_var TARGET_BUILD_VARIANT)
#LUNCH编译选择的平台产品名称 默认与out/target/product/XXX一致
DEVICE_NAME_INFO=$(get_build_var TARGET_DEVICE)
#out目录下的设备名称
OUT_DEVICE_NAME_INFO=""
#编译版本类型 eng/userdebug/user
PROPERTY_BUILD_TYPE="ro.build.type"
#vendor/自定义的软件版本号
PROPERTY_BUILD_VENDOR_NUMBER="ro.build.display.vtechid"
#system/软件版本号
PROPERTY_BUILD_NUMBER="ro.build.display.id"
#vendor/自定义的产品型号
PROPERTY_BUILD_VENDOR_PRODUCT_MODEL="ro.vendor.product.model"
#system/产品型号
PROPERTY_BUILD_PRODUCT_MODEL="ro.*.model"
#APP的路径 需要存在git仓库才可以使用git log
PROJECT_APP_GIT_PATH="/home/sn0553/software/project/vtech_app_"
#是否存在GooglePatch 默认无
PROJECT_GOOGLE_PATCH="(无)"
#是否Lunch过了
IS_LUNCHED="false"
log_help(){
echo "***********[VTECH_AUTO_LOG]快速生成修改记录************"
echo "默认修改记录文件名称为 当前目录下的 ${PROJECT_VERSION_LOG_FILE_NAME}"
echo "需要配置的条件有:"
echo -e "手机设置-关于手机-版本号实际显示的版本号 --> 当前脚本文件中的\033[32m PROPERTY_BUILD_NUMBER \033[0m"
echo -e "第三方应用未集成在源码环境中 则需要配置 --> 当前脚本文件中的 \033[32m PROJECT_APP_GIT_PATH \033[0m"
# echo "非全志平台:"
echo "第一步,git pull更新代码"
echo "第二步,source build/envsetup.sh"
echo "第三步,lunch自己的产品以及编译类型"
echo -e "第四步,进行完整编译后方可执行此脚本文件,命令为 \033[34m $0 [n] [m] \033[0m"
echo -e "其中n代表的是\033[34m平台端\033[0mgit log最近\033[31m'n'\033[0m天的修改记录,m为\033[34m应用端\033[0m最近\033[31m'm'\033[0m天的修改记录,均默认为读取最近3天的git log"
# echo "全志:"
# echo -e "第一步,执行 \033[34m ./compile.sh n SP01_VTECH_OLDER_CN userdebug V1.1.1 \033[0m 进行完整编译"
# echo -e "第二步, \033[34m $0 [n] [m] \033[0m进行日志输出"
# echo -e "其中n代表的是平台git log最近\033[34m 'n'\033[0m天的修改记录,\033[34m 'm'\033[0m为app端最近m天的修改记录,均默认3天"
echo "**********************仅供参考***************************"
}
#=========================================================================================================================
make_all_log(){
local day_ago_system=$1
local day_ago_app=$2
local build_numer_str
local build_date_str
if [ "${day_ago_system}" = "" ]; then
log_help
echo " "
day_ago_system=3
else
day_ago_system=$1
fi
if [ "${day_ago_app}" = "" ]; then
day_ago_app=3
else
day_ago_app=$2
fi
# rm -rf log.txt
#首先判断out目录是否存在,如果out目录都不存在,你生成个锤子的version_log呢?????
#步骤一
if [ ! -d "./out/target/" ] ;then
echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m 查询out目录失败,请先进行全部编译!"
echo -e "${_TAG_SHELL_} \033[31m退出脚本....\033[0m"
exit;
fi
echo -e "${_TAG_SHELL_} Lunch选择的项目名称为 \033[32m ${PROJECT_PRODUCT_INFO}\033[0m"
#步骤二
check_version_log_exist
echo -e "${_TAG_SHELL_} \033[31m 修改记录制作完成.... \033[0m"
# cat ${PROJECT_VERSION_LOG_FILE_NAME}
}
#=========================================================================================================================
check_version_log_exist(){
# echo -e "${_TAG_SHELL_} \033[32m ${PROJECT_VERSION_LOG_FILE_NAME} \033[0m不存在..新建此文件!"
#TARGET_PRODUCT目录查询 1.首先会去get_build_var TARGET_PRODUCT.如果查询到的结果为generic或为空
#则说明没有执行lunch操作,我们需要自己查询./out/target/product/下有个什么目录,方便以后查询build.prop文件
#一般而言./out/target/product/不会存在两个目录
#步骤二 判断是否lunch过了 没有lunch走这里
if [ "${DEVICE_NAME_INFO}" = "generic" ] || [ "${DEVICE_NAME_INFO}" = "" ] ;then #{@1
echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m 查询 TARGET_DEVICE 失败!查询到的为:${DEVICE_NAME_INFO},未进行lunch操作,开始自动查询......"
# local dirSrc=$(ls ./out/target/product/ -l | awk '/^d/{print $NF}')
echo "$(ls out/target/product/)" >> temp_out.txt
local dirSrc=$(echo "$(ls out/target/product)")
local genric_exist=$(echo "$(ls out/target/product)" | grep "generic")
# echo "${_TAG_SHELL_} 自动查询: dirSrc ${dirSrc}"
if [ "$genric_exist" = "generic" ] ;then #如果存在generic文件夹,则删除generic行,重新处理dirSrc数据
echo "${_TAG_SHELL_} 自动查询: 当前存在generic目录,跳过设置此目录......"
echo -e "${_TAG_SHELL_} 自动查询: 获取到的下一个文件目录名为: \033[32m$(sed '/generic/d' temp_out.txt)\033[0m"
dirSrc=$(sed '/generic/d' temp_out.txt)
echo -e "${_TAG_SHELL_} 自动查询: 替换后的dirSrc \033[32m${dirSrc}\033[0m"
fi
DEVICE_NAME_INFO=${dirSrc}
rm -rf temp_out.txt
echo -e "${_TAG_SHELL_} 自动查询: 查询到的产品TARGET_DEVICE信息是 \033[32m$dirSrc\033[0m"
PROJECT_VERSION_LOG_FILE_NAME=${DEVICE_NAME_INFO}_${PROJECT_VERSION_LOG_FILE_NAME}
echo -e "${_TAG_SHELL_} 自动查询: 未曾执行过lunch操作......应输出的日志名为 \033[31m ${PROJECT_VERSION_LOG_FILE_NAME} \033[0m"
# lunch过了走这里
else
IS_LUNCHED="true"
PROJECT_VERSION_LOG_FILE_NAME=${DEVICE_NAME_INFO}_${PROJECT_VERSION_LOG_FILE_NAME}
local dirSrc_lunch=$(echo "$(ls out/target/product)")
local genric_exist_lunch=$(echo "$(ls out/target/product)" | grep "generic")
if [ "$genric_exist_lunch" = "generic" ] ;then #如果存在generic文件夹,则删除generic行,重新处理dirSrc数据
echo "${_TAG_SHELL_} lunched: 当前存在generic目录,跳过设置此目录......"
echo -e "${_TAG_SHELL_} lunched: 获取到的下一个文件目录名为: \033[32m$(sed '/generic/d' temp_out.txt)\033[0m"
dirSrc_lunch=$(sed '/generic/d' temp_out.txt)
echo -e "${_TAG_SHELL_} lunched: 替换后的dirSrc_lunch \033[32m${dirSrc}\033[0m"
fi
OUT_DEVICE_NAME_INFO=${dirSrc_lunch}
echo -e "${_TAG_SHELL_} 已经执行过lunch操作......应输出的日志名为 \033[31m ${PROJECT_VERSION_LOG_FILE_NAME} \033[0m"
fi #@1}
#步骤三
create_or_modify_log
}
#=========================================================================================================================
#步骤三
create_or_modify_log(){
# 文件不存在 进行创建工作
if [ ! -f "${PROJECT_VERSION_LOG_FILE_NAME}" ];then #@{1
echo -e "${_TAG_SHELL_} 开始\033[35m生成\033[0m修改记录 ${PROJECT_VERSION_LOG_FILE_NAME}"
touch ${PROJECT_VERSION_LOG_FILE_NAME}
echo "${PROJECT_PRODUCT_INFO}修改记录 更新时间: $(date "+%Y-%m-%d")" >> ${PROJECT_VERSION_LOG_FILE_NAME}
for((i=1;i<=5;i++));
do
echo "***********************************************" >> ${PROJECT_VERSION_LOG_FILE_NAME}
done
get_recent_change_log ${day_ago_system} ${day_ago_app}
# 文件存在,进行新增操作
else #@{1
echo -e "${_TAG_SHELL_} 日志文件存在....."
echo -e "${_TAG_SHELL_} 开始\033[35m新增\033[0m修改记录 ${PROJECT_VERSION_LOG_FILE_NAME}"
get_recent_change_log ${day_ago_system} ${day_ago_app}
fi #@1}
}
#=========================================================================================================================
#步骤四
get_recent_change_log(){
local day_ago_system=$1
local day_ago_app=$2
local recent_change_log_path_temp="recent_log.txt"
local build_type
local temp_app_gitlog=""
local temp_platform_gitlog=""
echo -e "${_TAG_SHELL_} 查询平台 \033[32m [${day_ago_system}] \033[0m天以前的GitLog"
echo -e "${_TAG_SHELL_} 查询APP \033[32m [${day_ago_app}] \033[0m天以前的GitLog"
#OUT目录查询
# if [ ! -d "./out/target" ]; then
# echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m 查询out目录失败,请先进行全部编译!"
# echo -e "${_TAG_SHELL_} \033[32m退出脚本....\033[0m"
# exit;
# fi
#TARGET_PRODUCT目录查询
# if [ "${DEVICE_NAME_INFO}" = "generic" ] || [ "${DEVICE_NAME_INFO}" = "" ] ;then
# echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m 查询TARGET_PRODUCT失败,也许你没有lunch....进入自动查询模式"
# local dirSrc=$(ls ./out/target/product/ -l | awk '/^d/{print $NF}')
# DEVICE_NAME_INFO=${dirSrc}
# echo -e "${_TAG_SHELL_} 自动查询: 查询到的产品TARGET_PRODUCT信息是 \033[32m$dirSrc\033[0m"
# fi
#TARGET_NAME查询
#out目录第二次校验,防止lunch TARGET_PRODUCT 的和实际编译生成的out/target/product/xxx不匹配
if [ ! -d "./out/target/product/${DEVICE_NAME_INFO}/" ] && [ "${IS_LUNCHED}" = "true" ];then
echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m 进入 ./out/target/product/${DEVICE_NAME_INFO}/失败!目录不存在,请检测Lunch选择的平台产品名称是否与当前out目录编译的平台产品名称一致,如不存在,请重新编译"
echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m 编译时lunch选择的版本是 \033[31m$(get_build_var TARGET_DEVICE)\033[0m ;;; out目录下存在的是 \033[31m${OUT_DEVICE_NAME_INFO}\033[0m"
echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m 退出生成 ${PROJECT_VERSION_LOG_FILE_NAME}"
exit;
else
echo -e "${_TAG_SHELL_} Lunch选择的平台产品名称与当前out目录编译的平台产品名称一致...."
fi
check_product_model #获取产品型号
check_build_num ${recent_change_log_path_temp} #获取相关版本号
rm -rf git_log.txt
git log --pretty=format:"修改内容:作者:%an CommitId %h %s" --date=iso8601 --since="${day_ago_system} day ago" >> git_log.txt
echo "${_TAG_SHELL_} ==========正在输出系统软件修改点信息...============"
echo "[系统平台软件修改点]" >> ${recent_change_log_path_temp}
echo "$(grep -nr "修改内容:" git_log.txt | cut -d ":" -f 3-100 > new_gitlog.txt;sed -i '/Merge branch/Id' new_gitlog.txt;sed -i '/Merge remote-tracking/Id' new_gitlog.txt;cat -n new_gitlog.txt)" >> ${recent_change_log_path_temp}
local temp_platform_gitlog=$(cat new_gitlog.txt)
# echo "[VTECH_AUTO_LOG] 查询系统软件修改点最近3天的LOG信息 ${temp_platform_gitlog}"
if [ "${temp_platform_gitlog}" = "" ] ;then
echo " (无) " >> ${recent_change_log_path_temp}
fi
rm -rf git_log.txt;rm -rf new_gitlog.txt
#git log --pretty=format:"提交日期: %cd,,,修改者: %an,,,修改内容: %s end###" --date=iso8601 --since="${day_ago_system} day ago" >> git_log.txt
echo "${_TAG_SHELL_} ==========输出系统软件修改点信息完成...============"
#开始查询最近N天的APP git log信息
echo "${_TAG_SHELL_} ==========正在输出应用软件修改点信息...============"
if [ ! -d "${PROJECT_APP_GIT_PATH}" ] ;then
echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m 当前没有找到APP代码路径,无法获取对应git log信息.\033[35m跳过输出APP日志......\033[0m"
# echo " (无) " >> ${recent_change_log_path_temp}
else
echo "[内置APP软件修改点]" >> ${recent_change_log_path_temp}
local currentPath=$(pwd)
echo -e "${_TAG_SHELL_} 当前路径为:\033[37m${currentPath}\033[0m "
echo -e "${_TAG_SHELL_} 即将进入到app路径: \033[37m${PROJECT_APP_GIT_PATH}\033[0m"
cd ${PROJECT_APP_GIT_PATH}
git log --pretty=format:"修改内容:作者:%an CommitId %h %s" --date=iso8601 --since="${day_ago_app} day ago" >> git_log.txt
sed -i '/Merge branch/Id' git_log.txt
sed -i '/Merge remote-tracking/Id' git_log.txt;
temp_app_gitlog=$(cat ./git_log.txt)
# echo "[VTECH_AUTO_LOG] 查询app软件修改点最近3天的LOG信息 $(cat ./git_log.txt) "
if [ "${temp_app_gitlog}" = "" ] ;then
echo " (无) " >> ${currentPath}/${recent_change_log_path_temp}
fi
echo "$(grep -nr "修改内容:" git_log.txt | cut -d ":" -f 3-100 > new_gitlog.txt;cat -n new_gitlog.txt)" >> ${currentPath}/${recent_change_log_path_temp}
echo "${_TAG_SHELL_} ==========输出应用软件修改点信息完成.============"
rm -rf git_log.txt;rm -rf new_gitlog.txt
echo "${_TAG_SHELL_} 返回到原路径...... "
cd ${currentPath}
fi
echo "${_TAG_SHELL_} ==========开始GooglePatch修改点信息============"
echo "[是否存在GooglePatch] ${PROJECT_GOOGLE_PATCH}" >> ${recent_change_log_path_temp}
if [ "${PROJECT_GOOGLE_PATCH}" = "(无)" ] ;then
echo "${_TAG_SHELL_} ==========不存在GooglePatch!============"
fi
echo "============================================================================================================" >> ${recent_change_log_path_temp}
# echo "sed -i '6 r ${recent_change_log_path_temp}' ${PROJECT_VERSION_LOG_FILE_NAME}"
# 重新校验
# 校验编译类型
if [ -f "./out/target/product/${DEVICE_NAME_INFO}/system/build.prop" ] ;then
build_type=$(grep -nr ${PROPERTY_BUILD_TYPE} ./out/target/product/${DEVICE_NAME_INFO}/system/build.prop | cut -d "=" -f 2)
echo -e "${_TAG_SHELL_} 编译的版本类型为\033[32m ${build_type}\033[0m"
sed -i "s/${PROJECT_BUILD_TYPE}/${build_type}/g" ${recent_change_log_path_temp}
fi
#将临时输出的recent_log输出到version_log之中
echo -e "${_TAG_SHELL_} 输出此次添加的最近日志信息......"
echo -e "\033[36m$(cat ${recent_change_log_path_temp})\033[0m"
sed -i '6 r '${recent_change_log_path_temp}'' ${PROJECT_VERSION_LOG_FILE_NAME}
rm -rf ${recent_change_log_path_temp}
}
#=========================================================================================================================
check_product_model(){
# 校验产品名称
local base_target_product=$(get_build_var TARGET_PRODUCT)
# 如果/vendor/build.prop 查找预设的 PROPERTY_BUILD_VENDOR_PRODUCT_MODEL prop 字段对应的产品型号
if [ -f "./out/target/product/${DEVICE_NAME_INFO}/vendor/build.prop" ] ;then
PROJECT_PRODUCT_INFO=$(grep -nr ${PROPERTY_BUILD_VENDOR_PRODUCT_MODEL} ./out/target/product/${DEVICE_NAME_INFO}/vendor/build.prop | cut -d "=" -f 2)
if [ "${PROJECT_PRODUCT_INFO}" = "" ] ;then
echo -e "${_TAG_SHELL_} vendor/build.prop存在 尝试获取vendor/build.prop中的 ${PROPERTY_BUILD_VENDOR_PRODUCT_MODEL} 失败,将PROJECT_PRODUCT_INFO设置为\033[32m'unknow'\033[0m"
PROJECT_PRODUCT_INFO="unknow"
echo -e "${_TAG_SHELL_} vendor/build.prop存在 重新尝试获取system/build.prop中的 ro.*.model ......"
if [ -f "./out/target/product/${DEVICE_NAME_INFO}/system/build.prop" ] ;then
PROJECT_PRODUCT_INFO=$(grep -nr ${PROPERTY_BUILD_PRODUCT_MODEL} ./out/target/product/${DEVICE_NAME_INFO}/system/build.prop | cut -d "=" -f 2)
if [ "${PROJECT_PRODUCT_INFO}" = "" ] ;then
echo -e "${_TAG_SHELL_} vendor/build.prop存在 尝试获取system/build.prop中的 ro.*.model 失败,将PROJECT_PRODUCT_INFO设置为\033[32m'unknow'\033[0m"
else
echo "${_TAG_SHELL_} vendor/build.prop存在 获取设备型号成功!"
fi
else
#不存在/system/build.prop文件 拉闸....退出退出....
echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m vendor/build.prop存在 查询system/build.prop失败,该文件不存在,无法获取型号信息,请重新编译!"
echo -e "${_TAG_SHELL_} 退出生成git log"
exit
fi
fi
# 如果不存在/vendor/build.prop 查找预设的 PROPERTY_BUILD_VENDOR_PRODUCT_MODEL prop 字段对应的产品型号
else
echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m 查询system/build.prop中的 ${PROPERTY_BUILD_PRODUCT_MODEL} 失败,该文件不存在,如果您的Android版本低于6.0则略过此信息!"
PROJECT_PRODUCT_INFO="unknow"
if [ -f "./out/target/product/${DEVICE_NAME_INFO}/system/build.prop" ] ;then
if [ "${PROJECT_PRODUCT_INFO}" = "" ] || [ "${PROJECT_PRODUCT_INFO}" = "unknow" ] ;then
PROJECT_PRODUCT_INFO=$(grep -nr ${PROPERTY_BUILD_PRODUCT_MODEL} ./out/target/product/${DEVICE_NAME_INFO}/system/build.prop | cut -d "=" -f 2)
if [ "${PROJECT_PRODUCT_INFO}" = "" ] ;then
echo -e "${_TAG_SHELL_} vendor/build.prop不存在 尝试获取system/build.prop中的 ro.*.model 失败,将PROJECT_PRODUCT_INFO设置为\033[32m'unknow'\033[0m"
else
echo "${_TAG_SHELL_} vendor/build.prop不存在 获取设备型号成功!"
fi
fi
else
#不存在/system/build.prop文件 拉闸....退出退出....
echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m 查询system/build.prop失败,该文件不存在,无法获取型号信息,请重新编译!"
echo -e "${_TAG_SHELL_} 退出生成git log"
exit
fi
fi
echo -e "${_TAG_SHELL_} 通过build.prop获得产品名称为\033[32m ${PROJECT_PRODUCT_INFO} \033[0m将替换${base_target_product}修改记录为${PROJECT_PRODUCT_INFO}修改记录,同时更新最近更新时间为$(date "+%Y-%m-%d")"
# sed -i "s/${base_target_product}修改记录/${PROJECT_PRODUCT_INFO} 修改记录/g" ${PROJECT_VERSION_LOG_FILE_NAME}
# 替换第一行的内容
sed -i "1c ${PROJECT_PRODUCT_INFO}修改记录 更新时间: $(date "+%Y-%m-%d")" ${PROJECT_VERSION_LOG_FILE_NAME}
}
#=========================================================================================================================
check_build_num(){
# 校验产品名称
local recent_change_log_path_temp=$1
local build_num_str
local build_date_str
# 如果/vendor/build.prop 查找预设的 PROPERTY_BUILD_VENDOR_PRODUCT_MODEL prop 字段对应的产品型号
if [ -f "./out/target/product/${DEVICE_NAME_INFO}/vendor/build.prop" ] ;then
build_num_str=$(grep -nr ${PROPERTY_BUILD_VENDOR_NUMBER} ./out/target/product/${DEVICE_NAME_INFO}/vendor/build.prop | cut -d "=" -f 2)
if [ "${build_num_str}" = "" ] ;then
echo -e "${_TAG_SHELL_} vendor/build.prop存在 尝试获取vendor/build.prop中的 ${PROPERTY_BUILD_VENDOR_NUMBER} 失败,将版本号设置为\033[32m'unknow'\033[0m"
build_num_str="unknow"
echo -e "${_TAG_SHELL_} vendor/build.prop存在 重新尝试获取system/build.prop中的 ${PROPERTY_BUILD_NUMBER} ......"
if [ -f "./out/target/product/${DEVICE_NAME_INFO}/system/build.prop" ] ;then
build_num_str=$(grep -nr ${PROPERTY_BUILD_NUMBER} ./out/target/product/${DEVICE_NAME_INFO}/system/build.prop | cut -d "=" -f 2)
if [ "${build_num_str}" = "" ] ;then
echo -e "${_TAG_SHELL_} vendor/build.prop存在 尝试获取system/build.prop中的 ${PROPERTY_BUILD_NUMBER} 失败,将版本号设置为\033[32m'unknow'\033[0m"
else
echo "${_TAG_SHELL_} vendor/build.prop存在 获取版本号成功!"
fi
else
#不存在/system/build.prop文件 拉闸....退出退出....
echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m vendor/build.prop存在 查询system/build.prop失败,该文件不存在,无法获取版本号信息,请重新编译!"
echo -e "${_TAG_SHELL_} 退出生成git log"
exit
fi
fi
# 如果不存在/vendor/build.prop 查找预设的 PROPERTY_BUILD_VENDOR_PRODUCT_MODEL prop 字段对应的产品型号
else
echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m 查询system/build.prop中的 ${PROPERTY_BUILD_NUMBER} 失败,该文件不存在,如果您的Android版本低于6.0则略过此信息!"
build_num_str="unknow"
if [ -f "./out/target/product/${DEVICE_NAME_INFO}/system/build.prop" ] ;then
if [ "${build_num_str}" = "unknow" ] ;then
build_num_str=$(grep -nr ${PROPERTY_BUILD_NUMBER} ./out/target/product/${DEVICE_NAME_INFO}/system/build.prop | cut -d "=" -f 2)
if [ "${build_num_str}" = "" ] ;then
echo -e "${_TAG_SHELL_} vendor/build.prop不存在 尝试获取system/build.prop中的 ${PROPERTY_BUILD_NUMBER} 失败,将版本号设置为\033[32m'unknow'\033[0m"
else
echo "${_TAG_SHELL_} vendor/build.prop不存在 获取版本号成功!"
fi
fi
else
#不存在/system/build.prop文件 拉闸....退出退出....
echo -e "${_TAG_SHELL_} \033[31m警告:\033[0m 查询system/build.prop失败,该文件不存在,无法获取版本号信息,请重新编译!"
echo -e "${_TAG_SHELL_} 退出生成git log"
exit
fi
fi
#查询版本编译日期
if [ ! -f "./out/target/product/${DEVICE_NAME_INFO}/system/build.prop" ] ;then
build_date_str="Unknow"
else
build_date_str=$(grep -nr "ro.build.date=" ./out/target/product/${DEVICE_NAME_INFO}/system/build.prop | cut -d "=" -f 2)
fi
echo "##########版本号: ${build_num_str} 版本类型: ${PROJECT_BUILD_TYPE} 编译时间: ${build_date_str}" >> ${recent_change_log_path_temp}
}
#log_help
make_all_log $1 $2
Android GitLog 生成脚本
于 2020-08-18 11:16:51 首次发布