使用gradleFX为多个客户构建AIR移动项目

时间:2013-09-04 10:28:09

标签: android ios air build-automation gradlefx

我有一个应该交付给许多客户的软件。 每个构建应该获得一组自定义资产(图标,启动画面等)和一堆配置文件,但也有不同的应用程序ID(例如com.myself.myapp.customer1; com.myself.myapp.customer2等)。 ..)

此外,我还需要针对Android,iOS,PlayBook等不同操作系统的构建。

到目前为止我处理这个问题的方式是: 我为每个客户创建了一个新的Application.mxml,它打开了正确的位置并将文件传递给MainController。 这让我在每次需要编译时都选择正确的资产,证书和iOS配置文件,我不得不为每个客户重复这个步骤,这非常容易出错,特别是在iOS,非常耗时。

所以我需要快速进入自动化建筑......

我已经下载并安装了gradle / gradleFX,但我发现这个主题的初学者对文档非常友好。

现在问题:

  1. 如何转换(Flash Builder-)给定的项目结构以符合gradle约定?我可以使用FB插件或工具吗?
  2. 我是否可以使用gradleFX构建调试会话? FB 4.7有很多问题,我真的很想避开。
  3. 在原始编译之后,ipa是否可以“签名”并与资产打包在一起,所以我不必每次编译等待15分钟?
  4. 非常感谢

1 个答案:

答案 0 :(得分:1)

  

如何转换(Flash Builder-)给定的项目结构   符合gradle惯例?有FB插件还是工具我   可以用?

没有什么可以转换的。除非您的项目结构极具异国情调,否则您应该能够配置GradleFx来使用它 请注意,默认情况下,GradleFx使用一些Maven样式约定:例如,默认源文件夹将为src/main/actionscript。如果要配置典型的FlashBuilder项目,则必须显式声明源文件夹:

srcDirs = ['src']

至于FB插件:没有。但您可以使用“外部构建工具”而不是FB的内置配置。 IntelliJ IDEA具有Gradle支持,但没有专门针对GradleFx。 GradleFx本身有一个flashbuilder插件,但它的目的是从构建脚本生成一个与FB兼容的项目 - 我认为这不是你想要的。

  

我是否可以使用gradleFX构建调试会话? FB 4.7有一个   很多问题我真的很想避开。

只需将debug标记设置为true(如Adobe's mxmlc docs中所述),即可构建启用调试的应用程序版本。 GradleFx不公开its API中的所有编译器选项(其中只有太多),但您可以使用additionalCompilerOptions来定义所需的任何其他编译器标志:

additionalCompilerOptions = ['-debug=true']

我不知道你应该如何告诉FlashBuilder为其调试会话连接到已编译的swf :(可能通过“外部构建工具”配置。

  

根据原则,ipa是否可以“签署”并与资产打包在一起   编译,所以我不必每次编译等待15分钟?

我知道移动支持太少,无法在这里给你一个有意义的答案,但我可以告诉你,这个领域的重大升级正在进行中,并将很快发布。也许你应该在http://support.gradlefx.org/上提出这个问题; @Slevinbe非常有帮助并且很快回答。

  

我发现这篇文档对初学者来说非常友好   受试者

如果文档不适合您,也许the example projects可能会更有帮助。也就是说,通过告诉我们如何改进它们,您可以帮助我们为初学者提供更好的文档。刚开始讨论support.gradlefx.org

多个输出

还有一件事:您的主要问题似乎是您需要从单个代码库创建多个输出。这是GradleFx不提供开箱即用(但)的一件事。但是,有一个相当不引人注目的解决方法I've described on my blog。如果您发现基本概念难以理解,那么我建议您不要从这部分开始,而是集中精力首先建立一个项目。