跨平台 Flash Builder 工作区?

Cross-platform Flash Builder workspace?

我在 OSX 上开发支持一个巨大的 Flex 遗留项目。到目前为止,我们只使用了 .air 文件,但现在我需要使用 NativeProcess 功能并使用强制运行时构建项目。

我之前没有使用过 adt,也没有使用过 Windows 上的命令行内容,所以这将是我的第一次调查,但作为后备:是否可以共享 Flash Builder OSX 和 PC 版本的 Flash Builder 之间的工作区?

我使用 VMWare Fusion 进行 Windows 仿真,Flash Builder 运行正常,但如果有特定于平台的内容被写入工作区,我不想搞砸我的项目工作区。

以前有人做过吗?

您可以在 Mac 和 Windows 上的 Flash Builder 之间导出和导入项目,无需任何 OS 特定设置。

Flash Builder 内置了对 GIT 的支持。只需使用 GIT 设置您的项目,您的所有代码将在您的 2 个平台之间共享。

我的设置通常是将大部分项目放入 actionscript 库项目中,然后有一个包含我的库的平台特定项目并发布到平台(通常只有一个 class)。

以下是操作方法的简要说明:

  • 使用您最喜欢的 Git 存储库创建一个 Git 项目(在您的情况下,它必须在线或在您的网络中,当然不仅仅是本地的)。如果你像我一样拥有自己的,如果不购买私人的或使用 public 就太好了。

  • 写下您的存放处 URI(克隆)和存放处名称。

  • 打开 Flash Builder

  • 转到文件-> 导入
  • 打开 Git 部分
  • 从 Git 中选择项目 -> 单击下一步
  • 选择 URI -> 单击下一步
  • 将您的 URI 粘贴到顶部的 URI 部分。 (所有字段都应填写)
  • 输入您的用户名和密码并检查存储在安全存储中
  • 点击下一步
  • 此时源可能是空的,如果没有选择分支,请再次单击下一步。
  • 现在设置将克隆项目的本地目录(应该在 FB 工作区内)

此时我通常会在我的工作区内设置目录名称为存放库名称。

  • Select 使用新建项目向导并单击完成。
  • 这将打开向导,您可以在其中 select 项目类型(比如 actionscript 库)。
  • 浏览所有屏幕并创建您的项目。
  • 这就是你设置的Git。

在您的其他平台上执行相同的操作,您最终会在通过 Git 链接的每个平台上得到一个项目。当您在一个平台上工作时,只需提交您的更改,然后将这些更改拉到另一个平台上,依此类推。

为了简单方便,我推荐这种方法:

  • 共享项目(通过 Git)设置为动作脚本库。
  • 每个平台都有自己的项目(未链接)引用该链接库(这使得实现平台特定功能变得容易)。该平台特定项目仅由一个 class(库的起点)组成。

所以使用 git 的建议很好(导出 FB 项目的建议也是如此)但我想尽可能避免额外的代码争论。

经过多次修改和谷歌搜索后,我能够编写 .bat 脚本,该脚本将项目打包为 Windows 的专属运行时 AIR 应用程序。通过使用 VMWare Fusion 进行仿真,我在 OSX 上 运行 Windows 7。 VMWare 允许共享文件夹,因此我能够共享我的 OSX Flash Builder 工作区目录(下面的代码段中未显示),ADT 从那里提取所需的资源。

使用 .bat 扩展名保存此文件并执行它会启动 ADT 并成功构建项目。

@echo off  

set CERTIFICATE=yourCertificate.p12  
set PW=certificatePassword  
set SIGNING_OPTIONS=-storetype pkcs12 -keystore %CERTIFICATE% -storepass %PW%  
set SOURCE_ROOT=bin-debug  
set APP_XML=%SOURCE_ROOT%\Name-Of-App-app.xml  
set DIST_PATH=bin-release  
set DIST_NAME=Name-of-App  
set UTILS_PATH=-C %SOURCE_ROOT%  
set FILE_OR_DIR=-e %SOURCE_ROOT%\Name_of_App.swf Name-of-App.swf  
set OUTPUT=%DIST_PATH%\%DIST_NAME%  

set AIR_PACKAGE=adt -package -tsa none %SIGNING_OPTIONS% -target bundle %OUTPUT% %APP_XML% %FILE_OR_DIR% %UTILS_PATH% utils  

echo %AIR_PACKAGE%  
 
call adt -version  
call %AIR_PACKAGE%  

pause