美文网首页Android进阶之路Jenkins奇技淫巧Android开发经验谈
Jenkins奇技淫巧 — 乐固,多渠道打包篇(Android自

Jenkins奇技淫巧 — 乐固,多渠道打包篇(Android自

作者: 拔萝卜占坑 | 来源:发表于2019-05-04 22:49 被阅读11次
    \color{blue}{Jenkins系列文章还在更新和完善中,有什么疑问欢迎留言}

    \color{blue}{目录}

    Jenkins奇技淫巧 — 安装篇(mac)
    Jenkins奇技淫巧 — 配置篇
    Jenkins奇技淫巧 — 安全篇
    Jenkins奇技淫巧 — 发送邮件篇
    Jenkins奇技淫巧 — 全局变量篇
    Jenkins奇技淫巧 — 新建任务篇
    Jenkins奇技淫巧 — 插件篇
    Jenkins奇技淫巧 — 问题篇
    Jenkins奇技淫巧 — 命令篇
    Jenkins奇技淫巧 — 环境配置篇(Android自动化构建)
    Jenkins奇技淫巧 — 参数化构建篇(Android自动化构建)
    Jenkins奇技淫巧 — 第一次实战篇(Android自动化构建)
    Jenkins奇技淫巧 — Python打包篇(Android自动化构建)

    Jenkins奇技淫巧 — Python发送邮件和上传蒲公英(Android自动化构建)

    Jenkins奇技淫巧 — 乐固,多渠道打包篇(Android自动化构建)
    Jenkins奇技淫巧 — 节点管理篇
    Jenkins奇技淫巧 — 优秀文章篇


    简介

    基于应用安全考虑,很多厂商都会给自家应用加固,加固的方式很多,各有各的特点,为了减少加固过程带来的工作量,接下来将使用Python脚本实现应用的加固,下载和发送邮件。

    乐固加固

        def __init__(self):
            self.secret_id = '乐固id'
            self.secret_key = '乐固key'
            self.steady_file_directory = 'android/app/build/Steady/'
    
    
        def Steady(self):
            steady_file_path = ''
            for fpath, dirname, fnames in os.walk(self.steady_file_directory):
                print(dirname)
                break
            steady_file_path = dirname[0]
    
    
            apkResignerForWallePath = 'android/ProtectedApkResignerForWalle'
            apk_path = self.steady_file_directory + steady_file_path + '/online/app-online-release.apk'
            download_path = self.steady_file_directory + '/download'
    
            cmdLeguStr = (
                    ' rm -rf ' + download_path + '/*.apk'
                    + '\n rm -rf ' + download_path
                    + '\n mkdir ' + download_path
                    + '\n java -Dfile.encoding=utf-8 -jar auto_build/lib/ms-shield.jar '
                    + '-sid %s -skey %s -uploadPath %s -downloadPath %s' %(self.secret_id, self.secret_key, apk_path, download_path)
            )
    
            print('===========开始上传,并加固,请耐心等待~================')
    
            self.exeShellCmd(cmdLeguStr)
    
            legu_app_path = ''
            app_version_name = ''
            current_time = time.strftime("%Y-%m-%d_%H%M%S", time.localtime())
    
            for fpath, dirname, fnames in os.walk(download_path):
                print(fnames)
                print(fpath)
                fname = fnames[0]
                legu_app_path = fpath
                legu_app_path = legu_app_path + '/' + fname
                app_version_name = self.getApkVersionName(legu_app_path)
    
                new_name = 'app-release-v%s-%s-legu.apk' %(app_version_name, current_time)
                old_path = os.path.join(fpath, fname)
                new_path = os.path.join(fpath, new_name)
                os.rename(old_path, new_path)
                legu_app_path = new_path
    
                print('leguAppPath = ' + legu_app_path)
                break
    
            self.buildChannels(apk_path,app_version_name,current_time,'_360appmarket')
    

    多渠道打包

    请自行参考美团多渠道打包工具
    https://github.com/mcxiaoke/packer-ng-plugin

    相关文章

      网友评论

        本文标题:Jenkins奇技淫巧 — 乐固,多渠道打包篇(Android自

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