使用 Fastlane 获取 Android 的版本号

Get version number for Android using Fastlane

我正在使用 Fastlane 为我的 React Native 应用程序自动化我的 iOS 和 Android 发布。效果很好我只是在努力让当前的 Android 版本号在应用程序部署后传递到 Slack 消息中。下面是我当前的 Android 车道:

lane :deploy_staging do
    gradle(task: "clean")

    puts "CONFIG: #{ENV['CONFIG']}"

    gradle(
        task: 'bundle',
        build_type: 'Release',
        print_command: false,
    )

    upload_to_play_store(track: 'internal')

   slack(
       message: "Test successfully deployed to Play Store",
       success: true,
       slack_url: "https://hooks.slack.com/services/test",
       attachment_properties: {
           fields: [
               {
                   title: "Environment",
                   value: "Staging",
               }
           ]
       }
   )
end

用iOS我运行获取版本号如下:

  {
           title: "Version number",
           value: get_version_number(target:"testapp"),
  }

但是Android好像没有这个方法调用,请问有没有简单的方法拉入版本号?

您可以将版本代码和版本名称设置为局部变量,然后将它们手动传递给您的 gradle 方法。然后在您的松弛方法中也使用它们。尝试这样的事情:

versionCode = 100
versionName = "1.0.0"

#...

gradle(
        task: 'bundle',
        build_type: 'Release',
        print_command: false,
        properties: {
              "versionCode" => versionCode,
              "versionName" => versionName,             
            }
      )
#...

slack(
       message: "Test version code: #{versionCode} and version name: #{versionName} successfully deployed to Play Store",
       success: true,
       slack_url: "https://hooks.slack.com/services/test",
       attachment_properties: {
           fields: [
               {
                   title: "Environment",
                   value: "Staging",
               }
           ]
       }
)

这个fastlane插件可以设置和获取版本名称和版本代码 https://github.com/beplus/fastlane-plugin-versioning_android