Flutter- 使用fastlane处理Android多渠道打包

10

我正在使用Flutter开发多个版本,现在我想要自动化构建apk。我声明了以下lane:

lane:
  desc "build apk"
  lane :test_build_android_app do |options|
    gradle(task: "assembleProductionfirst", build_type: "Release" })
  end

当我运行这条命令时,出现了以下错误信息:
编译器消息:错误:读取“lib/main.dart”文件时出错:没有此文件或目录 package:flutter_app/main.dart: 错误:找不到'main'方法。尝试向程序添加一个名为'main'的方法。Target kernel_snapshot failed: Exception: Errors during snapshot creation:null build failed.
我有好几个'main'方法。所以我需要运行 flutter build -t lib/first/main.dart 如何在使用fastlanegradlew时指定flutter主路径呢?

你使用的是什么操作系统?你试图使用 CI 平台吗?你是否在项目文件夹的根目录中使用命令? - Siloé Bezerra Bispo
Linux OpenSuse,Jenkins - M20
你能发一下你的 'lib/first/main.dart' 文件吗? - Siloé Bezerra Bispo
1个回答

29

我遇到了同样的问题-使用"flags"为我解决了这个问题:

gradle( 口味: "my_flavor", 任务: "bundle", 构建类型: "Release", 标志: "-Ptarget=lib/main_flavor.dart")


我们能否对iOS的fastlane的gym车道做同样的事情? - Rohan Taneja
@RohanTaneja 对于IOS开发,您可以结合使用“scheme”和“configuration”。 - Kyo Huu
兄弟,爱你!使用Gradle标志确实是正确的选择。在这里,你可以找到所有与Gradle相关的操作:https://docs.fastlane.tools/actions/gradle/ - criss_dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接