小胖博客

记录开发和使用中的点滴

Jenkins + Android 自动化打包 发布到蒲公英

写在前面

近期Android的小伙伴们也开始要发测试版本了,由于之前搭建了Jenkins + fastlane自动化打包iOS应用 ,所以这次就想一起解决Android的问题

最先想到的方案当然就是跟iOS一样使用fastlane,查了下相关资料发现fastlane有点重iOS轻Android,于是放弃。找到代替方案,直接使用gradle的方式打包,当然这边自动化分发也只是通过curl命令分发到蒲公英平台。所以本文的Jenkins环境还是在Mac OS X 下,Mac下安装Jenkins的坑已经踩过 有需要的可以再去看下之前的文章Mac下使用Jenkins踩坑 Fastlane自动化iOS打包

准备工作

  • 安装Jenkins Android Lint插件

《Jenkins + Android 自动化打包 发布到蒲公英》

  • 配置Android sdk 路径

系统管理-系统设置 中添加全局变量 ANDROID_HOME 位置可以在Android studio – preference 中找到

《Jenkins + Android 自动化打包 发布到蒲公英》

新建任务

  • Jenkins中新建自由风格的项目
    《Jenkins + Android 自动化打包 发布到蒲公英》

  • 配置好源码
    《Jenkins + Android 自动化打包 发布到蒲公英》

  • 添加构建环境
    《Jenkins + Android 自动化打包 发布到蒲公英》

    • 填写参数
      《Jenkins + Android 自动化打包 发布到蒲公英》

找到build.gradle路径

《Jenkins + Android 自动化打包 发布到蒲公英》

至此就已经搞定编译,点击构建会生成 output路径 上传指定apk到蒲公英

  • 添加curl命令

《Jenkins + Android 自动化打包 发布到蒲公英》

curl -F "[email protected]需要上传的APK路径" -F "uKey=蒲公英userKey" -F "_api_key=蒲公英apiKey" http://www.pgyer.com/apiv1/app/upload

签名配置

如果我们需要一个签名的包,我们需要在Androidstudio的build.gradle中作如下配置:
《Jenkins + Android 自动化打包 发布到蒲公英》

一些报错

  • 可能会出现Gradel command not found

    在 .bash_profile 中添加GRADLE_HOME

    sudo vi ~/.bash_profile

    最后添加两行

    export GRADLE_HOME=/Applications/Android\ Studio.app/Contents/gradle/gradle-4.4

    export PATH=${PATH}:${GRADLE_HOME}/bin

    保存后执行 source ~/.bash_profile

  • 还会可能会出现如下的报错
    《Jenkins + Android 自动化打包 发布到蒲公英》

    在全局配置工具中添加Gradle
    《Jenkins + Android 自动化打包 发布到蒲公英》

    添加Gradle
    《Jenkins + Android 自动化打包 发布到蒲公英》

    回到项目的构建配置中将default更改成刚刚添加的gradle
    《Jenkins + Android 自动化打包 发布到蒲公英》

目前打包只碰到这些问题,有问题再交流~~~

发表评论

电子邮件地址不会被公开。