Flutter自动化截图插件fastlane_screenshot_automation的使用

Flutter自动化截图插件fastlane_screenshot_automation的使用

在Flutter项目中,自动化生成多语言、多分辨率的截图是一项非常实用的功能。fastlane_screenshot_automation 是一个帮助设置 fastlane 的工具,支持同时配置 Android 和 iOS 项目的截图任务。本文将详细介绍如何使用该插件,并提供完整的示例代码。


安装与配置

1. 添加依赖

首先,在你的 Flutter 项目的 pubspec.yaml 文件中添加 fastlane_screenshot_automation 依赖:

dev_dependencies:
  fastlane_screenshot_automation: ^1.0.0  # 请根据实际版本号进行调整

然后运行以下命令安装依赖:

flutter pub get

2. 初始化 fastlane

确保你的项目已经初始化了 fastlane。如果没有,请运行以下命令:

cd ios  # 进入 iOS 项目目录
fastlane init

对于 Android 项目,可以通过 fastlane android init 初始化。


使用步骤

1. 配置 Fastfile

ios/fastlane/Fastfileandroid/fastlane/Fastfile 中配置 screenshot 任务。例如:

default_platform(:ios)

platform :ios do
  desc "Take screenshots for all languages and devices"
  lane :screenshots do
    screenshot_automation(
      languages: ["en-US", "zh-Hans"],  # 支持的语言列表
      devices: ["iPhone 14", "iPhone SE (3rd generation)"],  # 支持的设备列表
      output_directory: "./screenshots"  # 截图输出目录
    )
  end
end

2. 执行截图任务

在终端中运行以下命令来执行截图任务:

cd ios  # 进入 iOS 项目目录
fastlane screenshots

对于 Android 项目,可以在 android 目录下执行类似命令:

cd android
fastlane screenshots

示例代码

以下是一个完整的示例代码,展示如何在 Flutter 项目中使用 fastlane_screenshot_automation

iOS 部分

pubspec.yaml

dev_dependencies:
  fastlane_screenshot_automation: ^1.0.0

ios/fastlane/Fastfile

default_platform(:ios)

platform :ios do
  desc "Take screenshots for all languages and devices"
  lane :screenshots do
    screenshot_automation(
      languages: ["en-US", "zh-Hans"],
      devices: ["iPhone 14", "iPhone SE (3rd generation)"],
      output_directory: "./screenshots"
    )
  end
end

执行命令

cd ios
fastlane screenshots

Android 部分

pubspec.yaml

dev_dependencies:
  fastlane_screenshot_automation: ^1.0.0

android/fastlane/Fastfile

default_platform(:android)

platform :android do
  desc "Take screenshots for all languages and devices"
  lane :screenshots do
    screenshot_automation(
      languages: ["en-US", "zh-Hans"],
      devices: ["Pixel 5", "Pixel 3a"],
      output_directory: "./screenshots"
    )
  end
end

执行命令

cd android
fastlane screenshots

输出结果

执行完成后,截图会保存到指定的输出目录中,例如:

./screenshots/en-US/iPhone_14/
./screenshots/en-US/iPhone_SE_3rd_generation/
./screenshots/zh-Hans/iPhone_14/
./screenshots/zh-Hans/iPhone_SE_3rd_generation/

更多关于Flutter自动化截图插件fastlane_screenshot_automation的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter自动化截图插件fastlane_screenshot_automation的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


fastlane_screenshot_automation 是一个用于 Flutter 应用的自动化截图插件,它可以帮助你在 iOS 和 Android 设备上自动生成应用的屏幕截图。这个插件通常与 fastlane 工具一起使用,fastlane 是一个用于自动化 iOS 和 Android 应用发布流程的工具集。

以下是使用 fastlane_screenshot_automation 插件的基本步骤:

1. 安装 fastlane

首先,你需要在你的开发环境中安装 fastlane。你可以通过以下命令安装:

gem install fastlane

2. 在 Flutter 项目中初始化 fastlane

在你的 Flutter 项目根目录下运行以下命令来初始化 fastlane

fastlane init

这会生成一些必要的配置文件,比如 Fastfile

3. 添加 fastlane_screenshot_automation 插件

在你的 Flutter 项目的 pubspec.yaml 文件中添加 fastlane_screenshot_automation 依赖:

dev_dependencies:
  fastlane_screenshot_automation: ^1.0.0

然后运行 flutter pub get 来安装插件。

4. 配置 fastlane 进行截图

Fastfile 中,你可以配置 fastlane 来自动化截图。以下是一个简单的配置示例:

lane :screenshots do
  # 运行 Flutter 应用
  sh "flutter run -d <device_id>"

  # 使用 fastlane_screenshot_automation 插件进行截图
  sh "flutter pub run fastlane_screenshot_automation"

  # 将截图上传到 App Store Connect 或 Google Play Console
  capture_screenshots
end

5. 运行 fastlane 截图

在项目根目录下运行以下命令来执行截图任务:

fastlane screenshots

6. 配置截图设备

你可以在 fastlane 的配置文件中指定要使用的设备。例如,在 Fastfile 中:

lane :screenshots do
  # 指定 iOS 设备
  snapshot(
    devices: ["iPhone 12 Pro Max", "iPhone 8 Plus"],
    languages: ["en-US", "fr-FR"]
  )

  # 指定 Android 设备
  gradle(
    task: "assembleDebug",
    properties: {
      "testBuildType" => "debug"
    }
  )
end
回到顶部