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

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

作者: 程序员阿兵 | 来源:发表于2022-07-14 08:59 被阅读0次

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

    • 下面是通过脚本自动上传爱加密的逻辑
    • 1.执行完assembleRelease 打出混淆的apk
    • 2.将生成的apk 绝对路径进行加固
    //打包开发环境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了

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/yowtirtx.html