dev渠道添加应用加固流程

main
liuchunguang 2025-12-22 16:21:27 +08:00
parent 3a1b4abe6b
commit d17651925a
4 changed files with 92 additions and 1 deletions

View File

@ -43,3 +43,16 @@ Packages:
- Bilibili@1.0.0
- TalkingData@0.0.1
# 爱加密配置
Encryption:
ApiUrl: "https://runenc.ijiami.cn/common" # 爱加密API地址
StrategyName: "Dev加固策略" # 加密策略名称
Username: "PHXHJG" # 爱加密用户名
Password: "LaMYRIx0UzFgCIR" # 爱加密密码
ToolPath: "${WORKSPACE}/Tool/build_tools/encryptionTool-v4.3.6-202409.jar" # 加密工具路径
NeedSign: true # 是否需要签名
SignName: "朴合辛火安卓" # 签名名称
SignVersion: 4 # 签名版本(1-8)
RetryCount: 3 # 异常重试次数

View File

@ -49,3 +49,15 @@ Packages:
- AliPay@0.0.1
- ThinkingData@1.0.0
- TalkingData@0.0.1
# 爱加密配置
Encryption:
ApiUrl: "https://runenc.ijiami.cn/common" # 爱加密API地址
StrategyName: "Dev加固策略" # 加密策略名称
Username: "PHXHJG" # 爱加密用户名
Password: "LaMYRIx0UzFgCIR" # 爱加密密码
ToolPath: "${WORKSPACE}/Tool/build_tools/encryptionTool-v4.3.6-202409.jar" # 加密工具路径
NeedSign: true # 是否需要签名
SignName: "朴合辛火安卓" # 签名名称
SignVersion: 4 # 签名版本(1-8)
RetryCount: 3 # 异常重试次数

View File

@ -276,6 +276,72 @@ pipeline {
}
}
}
stage('加密应用') {
steps {
script {
//
if (params.Build_InitApp == true) {
try {
def playersettings = "${WORKSPACE}/Tool/Channels/${CHANNEL_PARAM}/ChannelSetting.yaml"
def cfg = readYaml(file: playersettings)
//
def encryptConfig = cfg?.Encryption
if (encryptConfig) {
def apiUrl = (encryptConfig?.ApiUrl ?: '').trim()
def strategyName = (encryptConfig?.StrategyName ?: '').trim()
def username = (encryptConfig?.Username ?: '').trim()
def password = (encryptConfig?.Password ?: '').trim()
def toolPath = (encryptConfig?.ToolPath ?: '').trim()
def needSign = (encryptConfig?.NeedSign ?: true)
def signName = (encryptConfig?.SignName ?: '').trim()
def signVersion = (encryptConfig?.SignVersion ?: 4)
def retryCount = (encryptConfig?.RetryCount ?: 3)
// APK
def apkPath = "$WORKSPACE/Builds/$CHANNEL_PARAM/$PLATFORM_PARAM/$VERSION_PARAM/$APK_NAME"
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}"
//
if (needSign) {
encryptCmd += " -i true -g '${signName}' -v ${signVersion}"
}
echo "开始加密应用..."
echo "APK路径: ${apkPath}"
echo "加密策略: ${strategyName}"
echo "执行命令: ${encryptCmd}"
//
def encryptResult = sh(script: encryptCmd, returnStatus: true, returnStdout: false)
if (encryptResult != 0) {
def message = "【${PLATFORM_PARAM}】【${VERSION_PARAM}】【Debug】【${CHANNEL_PARAM}】应用加密失败"
SendMessageToWechat(message)
error("Failure of the '加密应用' stage")
} else {
echo "应用加密成功加密后的APK已覆盖原APK。"
}
} else {
echo "警告:未在渠道配置中找到加密相关配置,跳过加密步骤。"
}
} catch (err) {
def message = "【${PLATFORM_PARAM}】【${VERSION_PARAM}】【Debug】【${CHANNEL_PARAM}】应用加密过程中发生异常: ${err.getMessage()}"
SendMessageToWechat(message)
error("Failure of the '加密应用' stage")
}
} else {
echo "增量更新模式,跳过加密步骤。"
}
}
}
}
stage('上传资源') {
steps {
script {

@ -1 +1 @@
Subproject commit 8a417e78faa934992729cc715fb256d5b2be90b2
Subproject commit aca9817e446e72ce5ce653688bcb4866fe2be4d2