美文网首页
如何优雅的使用Jenkins来打安卓正式包和多环境包

如何优雅的使用Jenkins来打安卓正式包和多环境包

作者: 仕明同学 | 来源:发表于2019-08-13 15:21 被阅读0次

    • Jenkins如何搭建这边不讲了,因为好多文章,搭建还是非常的容易的,这边文章主要是讲如何打多环境包,并且Apk的名称也会跟着环境的改变而改变



    • 1、Jenkins如何自动化构建安卓包
    • Jenkins通过配置的Git账号,去获取Git上的代码,从而获取到Tag(tag是跟随着分支的,所以不管在那个分支,只要有Tag,就能够获取正确的代码)


      Tag
    • 获取到代码,然后通过gradle打包,注意gradle最好和本地一样


      gradle配置
    • 执行shell命令去改变安卓工程的config.properties从而改变项目去的域名地址,从而能够构建多渠道包的
      shell命令
    • 最后上传蒲公英,pgyer api_key 蒲公英的key,file wildcard apk生成的文件夹
    • 最后就可以开始构建了





    • 2、一些必须知道的知识

    • 一般我们会在app build.gradle的文件中去配置signingConfigs,而且这是必须配置的,要不然打Debug会报错

      image.png
    • 当然我们在开发过程中,为了区分Debug包和正式包,我们也会配置 resValue "string", "app_name", "apk名称",为了动态的修改Apk的名称跟随着环境改变而改变,

      debug
      release
    • generateApk(variant) 方法功能是给A指定输出的路径,如果不配置的话Apk输出的路径的话会发生什么?

    打正式包会在app目录下生产release文件下生成app-release.apk! 打debug包会在app目录下生产debug文件下生成app-debug.apk

    图例

    如果是多渠道的包的话,会生成app+渠道名称+release/debug+..apk

    多渠道



    • 3、Jenkins打包完成后上传蒲公英的问题?
      我们知道这个路径地址是在jenkins中配置了file wildcard,而且这个只能配置一个Upload to pgyer with apiV2,如果配置多了,肯定就会出现构建失败,准确的讲是上传失败,因为这个上传地址是固定的,但是正式包和debug的输出路径不一致,So???
    • 把正式包和测试包构建在同一个目录下面,ok!开干。。。输出到app/apk
      路径下

      测试包和正式包在同一目录下

    发现问题了么??

    • 每次构建成功的时候包都会保留,那么jenkins知道上传那个包呢?
    • 如果把构建成功的包丢在build的文件夹下,由于每次构建都会把build文件夹下的文件全部清除

    ok,就这么干,把正式包和debug包都输出到这个目录"/app/build/apk/outputs

    目录
    • 4、查看日记并且获取蒲公英的地址
      最后的成功1
    最后的成功2

    相关文章

      网友评论

          本文标题:如何优雅的使用Jenkins来打安卓正式包和多环境包

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