通过gradle脚本实现 自动上传apk到爱加密服务器加固并打渠

2022-07-14  本文已影响0人  程序员阿兵

背景:现在项目使用的是第三方加密:爱加密,jenkins配置完打包后 打出正式包 再交由第三方平台加密 之前是手动上传 ,这就相对来说不够自动化。

//打包开发环境apk 混淆 再加固 打渠道包到i加密服务器 上传蒲公英 发送邮件功能使用蒲公英自带的邮件功能
task packageReleaseDingTalk {
    def apkDirPath = "${project.buildDir}/outputs/apk/release"
    deleteDir(apkDirPath)
    dependsOn("assembleRelease")
    doLast {
        def apkFile = fetchApk(apkDirPath)
        def jPath = jiagu(apkFile)
    }
}
private def jiagu(File apkFile) {
    def jarPath = '../encrypt/ijiami-v4.2.5.jar'
    File jarFile = file(jarPath)
    if (!jarFile.exists()) {
        if (!jarFile.parentFile.exists()) {
            jarFile.parentFile.mkdirs()
        }
        exec {
            executable = 'curl'
            args = ['-o', jarPath, 'https://tc-app-01.oss-cn-shenzhen.aliyuncs.com/encrypt/ijiami-v4.2.5.jar']
        }
    }
    return uploadServer(apkFile)
}
//配置请求到i加密服务器
private def uploadServer(File apkFile) {
    def jiaguApkName = 'ijiami_signed'
    def strategy = '项目名字'
    def jiaguSignJks = '你的.jks'
    //加固渠道配置
    def channel = 'release'
    exec {
        executable = 'java'
        args = ['-jar', '../encrypt/ijiami-v4.2.5.jar', '-t', 'apk', '-u', 'https://runenc.ijiami.cn:8080', '-r', '你的帐号', '-w', '你的密码', '-k', apkFile.path, '-s', strategy, '-i', true, '-g', jiaguSignJks, '-d', apkFile.parentFile.path, '-n', jiaguApkName, '-p', true, '-c', channel]
    }
    return "${apkFile.parentFile.path}/${jiaguApkName}.apk"
}

先下载爱加密提供的jar 下载完去配置对应的配置文件 上传。就ok了

上一篇下一篇

猜你喜欢

热点阅读