From 3439ac502bd59fae971531a04cb19a94c2e1ae40 Mon Sep 17 00:00:00 2001 From: liutao <821580467@qq.com> Date: Fri, 10 Apr 2026 17:38:47 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=89=93=E5=8C=85=E3=80=91=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=9E=84=E5=BB=BA=E7=89=A9=E5=90=8D=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Tool/build_env/jenkins_android_dev.groovy | 16 ++++++++++++---- Tool/build_env/jenkins_build_android_dev.groovy | 16 ++++++++++++---- Tool/build_tools | 2 +- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/Tool/build_env/jenkins_android_dev.groovy b/Tool/build_env/jenkins_android_dev.groovy index 05dcd816b68..e74d3b3ed4f 100644 --- a/Tool/build_env/jenkins_android_dev.groovy +++ b/Tool/build_env/jenkins_android_dev.groovy @@ -21,6 +21,8 @@ def ARTIFACT_URL = "http://${env.PHXH_BUILDER_IP_ADDRESS}:8080/job/${env.JOB_NAM def VERSION_PARAM = "尚未获取" // 版本号 根据项目获取 def OSS_UPLOAD_PATH_PARAM // 上传地址,根据项目获取 def ASSETS_END_POINT_PARAM // Assets endPoint,根据项目获取 +def BUILD_TIMESTAMP +def OUTPUT_APK_NAME // 构建地址 def BUILD_PATH @@ -230,10 +232,15 @@ pipeline { VERSION_PARAM = (cfg?.Version ?: '').trim() OSS_UPLOAD_PATH_PARAM = (cfg?.OssRemoteUploadPath ?: '').trim() ASSETS_END_POINT_PARAM = (cfg?.AssetsEndPoint ?: '').trim() + BUILD_TIMESTAMP = new Date().format("yyyyMMdd_HHmmss") + def safeChannel = CHANNEL_PARAM.replaceAll(/[^A-Za-z0-9_-]/, "_") + def safeVersion = VERSION_PARAM.replaceAll(/[^A-Za-z0-9._-]/, "_") + OUTPUT_APK_NAME = "NLD_${safeChannel}_${safeVersion}_${BUILD_TIMESTAMP}.apk" // 3.其他数据 BUILD_PATH = "Builds/$CHANNEL_PARAM/$PLATFORM_PARAM/$VERSION_PARAM" log_path="$BUILD_PATH/build.log" echo "获取到的版本是 ${VERSION_PARAM}, 获取到的上传地址是 ${OSS_UPLOAD_PATH_PARAM},获取到的assets-oss-endpoint是 ${ASSETS_END_POINT_PARAM}" + echo "[APKName] channel=${CHANNEL_PARAM}, timestamp=${BUILD_TIMESTAMP}, outputApkName=${OUTPUT_APK_NAME}" } catch (err) { def message = "【${PLATFORM_PARAM}】【${VERSION_PARAM}】【Debug】【${CHANNEL_PARAM}】根据渠道获取相关参数失败" SendMessageToWechat(message) @@ -289,7 +296,7 @@ pipeline { log_path="$BUILD_PATH/UpdatePreviousBuild.log" } else - build_result=sh(script: "$WORKSPACE/Tool/build_tools/build_unity.sh ${VERSION_PARAM} ${PLATFORM_PARAM} ${PROFILE_PARAM} ${CHANNEL_PARAM} ${HOTUPDATE_PARAM} ${DEBUGBUILD_PARAM} ${AAB_PARAM} ${DEV_PARAM} ${ANDROIDKEYSTORE} ${ANDROIDKEYALIAS} ${OBFUZ} ${UPLOAD_SYMBOL}", returnStatus: true, returnStdout: false) + build_result=sh(script: "$WORKSPACE/Tool/build_tools/build_unity.sh ${VERSION_PARAM} ${PLATFORM_PARAM} ${PROFILE_PARAM} ${CHANNEL_PARAM} ${HOTUPDATE_PARAM} ${DEBUGBUILD_PARAM} ${AAB_PARAM} ${DEV_PARAM} ${ANDROIDKEYSTORE} ${ANDROIDKEYALIAS} ${OBFUZ} ${UPLOAD_SYMBOL} true true true ${OUTPUT_APK_NAME}", returnStatus: true, returnStdout: false) def parse_log = "../../$log_path" // 打包失败 @@ -378,14 +385,15 @@ pipeline { def retryCount = (encryptConfig?.RetryCount ?: 3) // 构建APK路径 - def apkPath = "$WORKSPACE/Builds/$CHANNEL_PARAM/$PLATFORM_PARAM/$VERSION_PARAM/$APK_NAME" + def apkName = OUTPUT_APK_NAME ?: APK_NAME + def apkPath = "$WORKSPACE/Builds/$CHANNEL_PARAM/$PLATFORM_PARAM/$VERSION_PARAM/$apkName" def outputDir = "$WORKSPACE/Builds/$CHANNEL_PARAM/$PLATFORM_PARAM/$VERSION_PARAM" // 替换WORKSPACE变量 toolPath = toolPath.replace('${WORKSPACE}', WORKSPACE) // 构建加密命令 - def encryptCmd = "java -jar '${toolPath}' -t apk -u '${apiUrl}' -r '${username}' -w '${password}' -k '${apkPath}' -s '${strategyName}' -d '${outputDir}' -n '${APK_NAME}' -y ${retryCount}" + def encryptCmd = "java -jar '${toolPath}' -t apk -u '${apiUrl}' -r '${username}' -w '${password}' -k '${apkPath}' -s '${strategyName}' -d '${outputDir}' -n '${apkName}' -y ${retryCount}" // 添加签名参数 if (needSign) { @@ -560,4 +568,4 @@ pipeline { } } } -} \ No newline at end of file +} diff --git a/Tool/build_env/jenkins_build_android_dev.groovy b/Tool/build_env/jenkins_build_android_dev.groovy index fb48f1db51b..f678cdb1888 100644 --- a/Tool/build_env/jenkins_build_android_dev.groovy +++ b/Tool/build_env/jenkins_build_android_dev.groovy @@ -24,6 +24,8 @@ def ARTIFACT_URL = "http://${env.PHXH_BUILDER_IP_ADDRESS}:8080/job/${env.JOB_NAM def VERSION_PARAM = "尚未获取" // 版本号 根据项目获取 def OSS_UPLOAD_PATH_PARAM // 上传地址,根据项目获取 def ASSETS_END_POINT_PARAM // Assets endPoint,根据项目获取 +def BUILD_TIMESTAMP +def OUTPUT_APK_NAME // 构建地址 def BUILD_PATH @@ -219,10 +221,15 @@ pipeline { VERSION_PARAM = (cfg?.Version ?: '').trim() OSS_UPLOAD_PATH_PARAM = (cfg?.OssRemoteUploadPath ?: '').trim() ASSETS_END_POINT_PARAM = (cfg?.AssetsEndPoint ?: '').trim() + BUILD_TIMESTAMP = new Date().format("yyyyMMdd_HHmmss") + def safeChannel = CHANNEL_PARAM.replaceAll(/[^A-Za-z0-9_-]/, "_") + def safeVersion = VERSION_PARAM.replaceAll(/[^A-Za-z0-9._-]/, "_") + OUTPUT_APK_NAME = "NLD_${safeChannel}_${safeVersion}_${BUILD_TIMESTAMP}.apk" // 3.其他数据 BUILD_PATH = "Builds/$CHANNEL_PARAM/$PLATFORM_PARAM/$VERSION_PARAM" log_path="$BUILD_PATH/build.log" echo "获取到的版本是 ${VERSION_PARAM}, 获取到的上传地址是 ${OSS_UPLOAD_PATH_PARAM},获取到的assets-oss-endpoint是 ${ASSETS_END_POINT_PARAM}" + echo "[APKName] channel=${CHANNEL_PARAM}, timestamp=${BUILD_TIMESTAMP}, outputApkName=${OUTPUT_APK_NAME}" } catch (err) { def message = "【${PLATFORM_PARAM}】【${VERSION_PARAM}】【Debug】【${CHANNEL_PARAM}】根据渠道获取相关参数失败" SendMessageToWechat(message) @@ -278,7 +285,7 @@ pipeline { log_path="$BUILD_PATH/UpdatePreviousBuild.log" } else - build_result=sh(script: "$WORKSPACE/Tool/build_tools/build_unity.sh ${VERSION_PARAM} ${PLATFORM_PARAM} ${PROFILE_PARAM} ${CHANNEL_PARAM} ${HOTUPDATE_PARAM} ${DEBUGBUILD_PARAM} ${AAB_PARAM} ${DEV_PARAM} ${ANDROIDKEYSTORE} ${ANDROIDKEYALIAS} ${OBFUZ} ${UPLOAD_SYMBOL} ${PackDefaultRes} ${PackDllRes} ${PackConfigRes}", returnStatus: true, returnStdout: false) + build_result=sh(script: "$WORKSPACE/Tool/build_tools/build_unity.sh ${VERSION_PARAM} ${PLATFORM_PARAM} ${PROFILE_PARAM} ${CHANNEL_PARAM} ${HOTUPDATE_PARAM} ${DEBUGBUILD_PARAM} ${AAB_PARAM} ${DEV_PARAM} ${ANDROIDKEYSTORE} ${ANDROIDKEYALIAS} ${OBFUZ} ${UPLOAD_SYMBOL} ${PackDefaultRes} ${PackDllRes} ${PackConfigRes} ${OUTPUT_APK_NAME}", returnStatus: true, returnStdout: false) def parse_log = "../../$log_path" // 打包失败 @@ -367,14 +374,15 @@ pipeline { def retryCount = (encryptConfig?.RetryCount ?: 3) // 构建APK路径 - def apkPath = "$WORKSPACE/Builds/$CHANNEL_PARAM/$PLATFORM_PARAM/$VERSION_PARAM/$APK_NAME" + def apkName = OUTPUT_APK_NAME ?: APK_NAME + def apkPath = "$WORKSPACE/Builds/$CHANNEL_PARAM/$PLATFORM_PARAM/$VERSION_PARAM/$apkName" def outputDir = "$WORKSPACE/Builds/$CHANNEL_PARAM/$PLATFORM_PARAM/$VERSION_PARAM" // 替换WORKSPACE变量 toolPath = toolPath.replace('${WORKSPACE}', WORKSPACE) // 构建加密命令 - def encryptCmd = "java -jar '${toolPath}' -t apk -u '${apiUrl}' -r '${username}' -w '${password}' -k '${apkPath}' -s '${strategyName}' -d '${outputDir}' -n '${APK_NAME}' -y ${retryCount}" + def encryptCmd = "java -jar '${toolPath}' -t apk -u '${apiUrl}' -r '${username}' -w '${password}' -k '${apkPath}' -s '${strategyName}' -d '${outputDir}' -n '${apkName}' -y ${retryCount}" // 添加签名参数 if (needSign) { @@ -549,4 +557,4 @@ pipeline { } } } -} \ No newline at end of file +} diff --git a/Tool/build_tools b/Tool/build_tools index 34a565305a0..e4df2e9f03e 160000 --- a/Tool/build_tools +++ b/Tool/build_tools @@ -1 +1 @@ -Subproject commit 34a565305a05419f893d18702b66e0fdc049625c +Subproject commit e4df2e9f03e927b87ae4374b021143cfa6c123a7