fastlane实现Android自动化打包

Posted 隔壁小王66

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastlane实现Android自动化打包相关的知识,希望对你有一定的参考价值。

之前写过jenkins打包的配置文章,也写过一篇关于python实现本地自动化打包加固上传蒲公英一系列操作的文章。今天记录一下fastlane在android中实现自动化打包的步骤。
jenkins打包:https://blog.csdn.net/qq_16131393/article/details/83381128
python打包:https://blog.csdn.net/qq_16131393/article/details/83380012

配置说明:在Mac pro+AndroidStudio

  1. 打开苹果终端,就是windows中的命令行,cd到项目目录下
  2. 输入命令fastlane init,回车
  3. 在 Package Name (com.krausefx.app):中输入包名
  4. Do you plan on uploading metadata, screenshots and builds to Google Play using fastlane?(是否上传Meta信息,截屏等到Google Play),选择N
  5. 会在项目根目录下生成一个fastlane文件夹包含Appfile和Fastfile两个文件
  6. 编辑Fastfile,如下

default_platform(:android)

platform :android do

     lane:beta do
     #从蒲公英平台拿到的api_key和user_key
     #api_key = "xxx"
     #user_key = "xxx"
     puts "开始打包xxxdebug版本"
     # 开始打包
    gradle(task:'clean')
    gradle(
        task: 'assemble',
        build_type: 'Debug',
      )
    puts "xxx打包成功"
    #puts "开始上传到蒲公英"
    #开始上传ipa到蒲公英,这里用的是蒲公英提供的插件
    #update_description代表更新信息,password代表安装密码
    #pgyer(update_description: "#desc", api_key: "#api_key", user_key: "#user_key", password: "123456", install_type: "2")
    #puts "上传到蒲公英成功"
    #在上传完apk后,打开apk的存放文件夹,起到提示上传完成的作用
    #system "open /User/wangchang/Desktop/defaultFlavor/debug"
    end


     lane:release do
     #从蒲公英平台拿到的api_key和user_key
     #api_key = "xxx"
     #user_key = "xxx"



    #输入蒲公英上传apk包后输入的版本描述信息
    #puts "请输入版本描述:"
    #desc = STDIN.gets

    puts "开始打包xxxrelease版本"
    # 开始打包
    gradle(task:'clean')
    gradle(
        task: 'assemble',
        build_type: 'Release',
      )
    puts "xxx打包成功"
    #puts "开始上传到蒲公英"
    #开始上传ipa到蒲公英,这里用的是蒲公英提供的插件
    #update_description代表更新信息,password代表安装密码
    #pgyer(update_description: "#desc", api_key: "#api_key", user_key: "#user_key", password: "123456", install_type: "2")
    #puts "上传到蒲公英成功"
    #在上传完apk后,打开apk的存放文件夹,起到提示上传完成的作用
    #system "open /User/wangchang/Desktop/defaultFlavor/debug"
    end
end

注意的问题:

sdk位置,如果是本地打包,local.properies不需要改,如果是运维打包,它需要下载sdk到运维机器以及配置jks,这个时候地址都需要改为运维机器上的地址。

以上是关于fastlane实现Android自动化打包的主要内容,如果未能解决你的问题,请参考以下文章

iOS中使用Fastlane实现自动化打包和发布

Fastlane 一键打包/发布APP - 使用记录及踩坑

Fastlane 一键打包/发布APP - 使用记录及踩坑

Mac Jenkins+fastlane 简单几步实现iOS自动化打包发布

iOS开发之使用fastlane工具实现自动化打包发布

自动化打包之fastlane-- 代码签名和项目配置