打包并导出

在应用程序做好部署准备后,请使用“导出发行版”过程,这与桌面和 Web 应用程序的部署过程一样。主要区别在于,在您导出移动设备项目的发行版时,Flash Builder 会将版本打包为本机安装程序,而不是 .air 文件。例如,在 Android 上,Flash Builder 会生成一个与本机 Android 应用程序包看起来一样的 .apk 文件。通过这个本机安装程序,可以在每个平台上像处理本机应用程序那样分发基于 AIR 的应用程序。

将移动设备应用程序打包并导出到在线商店

使用 Flash Builder 的“导出发行版”功能可以打包并导出发行版的移动设备应用程序。发行版通常是要上传到在线商店(如 Android Market、Amazon Appstore 或 Apple App store)的应用程序的最终版本。

在导出应用程序时,可以选择在某个设备上安装应用程序。如果在导出期间设备已连接到计算机,Flash Builder 将在设备上安装应用程序。您也可以选择导出特定于平台的应用程序包,以供以后在设备上安装。产生的软件包可以进行部署和安装,其方法与本机应用程序相同。

有关将 Android 应用程序导出到 Android Market 或 Amazon App Store 的详细信息,请参阅导出用于发行的 Android APK 包

有关将 iOS 应用程序导出到 Amazon App Store 的详细信息,请参阅导出用于发行的 Apple iOS 包

导出具有运行时绑定的应用程序

当您使用“导出发行版”功能导出移动设备应用程序时,您可以选择在应用程序包内嵌入 Adobe AIR 运行时。

然后,即使是在尚未安装 Adobe AIR 的设备上,用户也可以运行应用程序。根据要向其导出包的平台,您可以使用运行时绑定或共享运行时。

导出用于发行的 Android APK 包

Adobe 建议

有要分享的教程?

 

Build and export Android applications for various Android ecosystems

Andrew Trice
在 Flash Builder 中开发 Android 应用程序并导出到 Android 生态系统(如 Google Android Market 和 Amazon Appstore)的工作流程

   

导出移动设备应用程序前,可以自定义 Android 权限。可以在应用程序描述符文件中手动自定义相关设置。这些设置在 bin-debug/app_name-app.xml 文件的 <android> 块中。有关更多信息,请参阅设置
AIR 应用程序属性

如果导出应用程序以供以后安装在设备上,请使用设备操作系统提供商所提供的工具来安装应用程序包。

  1. 在 Flash Builder 中,选择“项目”>“导出发行版”。

  2. 选择要导出的项目和应用程序。

  3. 选择目标平台和项目导出位置。

  4. 导出特定于平台的应用程序包并为其进行签名。

    您可以为每个目标平台打包带有数字签名的应用程序,或打包为带有数字签名的 AIR 桌面应用程序。

    也可以将应用程序导出为中间 AIRI 文件,可以在以后为其进行签名。如果选择此选项,请稍后使用 AIR adt 命令行工具,将 AIRI 打包为 APK 文件。然后使用特定于平台的工具在设备上安装 APK 文件(例如,对于 Android SDK,请使用 adb)。有关使用命令行工具对您的应用程序进行打包的信息,请参阅
    Adobe AIR 应用程序进行数字签名

  5. 在“打包设置”页面上,可以选择数字证书、包内容和任何本机扩展。

    部署 
    如果还想在设备上安装应用程序,请单击“部署”页并选择“在所有已连接的设备中安装并启动应用程序”。请确保已将一个或多个设备连接到计算机的 USB 端口。

    • 导出具有运行时绑定的应用程序

      如果您要在导出应用程序包时将 AIR 运行时嵌入 APK 文件内,请选择该选项。然后,即使是在尚未安装 AIR 的设备上,用户也可以运行应用程序。

    • 使用共享运行时导出应用程序

      如果不希望在导出应用程序包时将 AIR 运行时嵌入 APK 文件内,请选择该选项。如果用户设备上尚未安装 AIR,您可以选择或指定为应用程序包下载 Adobe AIR 的 URL。

      默认 URL 指向 Android Market。但是,您可以覆盖默认 URL,并选择指向 Amazon Appstore 上某位置的 URL,或者输入您自己的 URL。

    数字签名 
    单击“数字签名”选项卡可以创建或浏览代表应用程序发布者身份的数字证书。也可以为所选证书指定密码。

    如果创建证书,则该证书为自签名证书。可以从证书提供商处获得商业签名证书。请参阅对 Adobe AIR 应用程序进行数字签名

    包内容 
    (可选)单击“包内容”选项卡,以指定包中所包含的文件。

    本机扩展 
    (可选)选择您要在应用程序包中包含的本机扩展。

    有关本机扩展的更多信息,请参阅使用本机扩展

  6. 单击“完成”。

    Flash Builder 在第一个面板(默认为项目的最顶级)所指定的目录中创建 ApplicationName.apk。如果在导出期间已将设备连接到计算机,Flash Builder 将在设备上安装应用程序。

导出用于发行的 Apple iOS 包

Adobe 建议

有要分享的教程?

 

Build and export iOS applications to Apple’s App Store

Andrew Trice
在 Flash Builder 中开发 iOS 应用程序并将其发布到 Apple App Store 的工作流程

   

您可以创建和导出用于临时分发或用于提交到 Apple App Store 的 iOS 包。

重要说明: 导出 iOS 包之前,确保您已从 Apple 获得必需的证书和分发配置概要文件。为此,请执行构建、调试或部署
iOS 应用程序前的准备工作
中所述的步骤。
  1. 在 Flash Builder 中,选择“项目”>“导出发行版”。

  2. 选择 Apple iOS 作为目标平台,以导出和签名 IPA 包。

    单击“下一步”。

  3. 在“打包设置”页面上,可以选择配置证书、数字证书、包内容和任何本机扩展。

    部署 
    导出 iOS 包时,默认情况下 AIR 运行时嵌入在 IPA 文件中。

    数字签名 
    选择从 Apple 获得的 P12 证书和分发配置概要文件。

    可以选择以下包类型之一:

    • 限制分发的临时分发,适用于应用程序的限制分发

    • Apple App Store 的最终发行包,将应用程序提交至 Apple App Store

    包内容 
    (可选)单击“包内容”选项卡,以指定包中所包含的文件。

    本机扩展 
    (可选)选择您要在应用程序包中包含的本机扩展。

    如果本机扩展使用了 iOS5 SDK 功能,请选择 iOS SDK 的位置。有关更多信息,请参阅在外部配置 iOS SDK

  4. 单击“完成”。

    Flash Builder 将验证软件包设置的配置,然后编译应用程序。打包完成后,您可以将 IPA 文件安装在连接的 Apple iOS 设备上或提交至 Apple App Store。

要使用 AIR Developer Tool (ADT) 对 IPA 文件进行打包,请参阅构建 AIR 应用程序中的 iOS 包

使用命令行进行创建、测试和部署

不使用 Flash Builder 也可以创建手机应用程序。可以改用 mxmlc、adl 和 adt 命令行工具。

以下是使用命令行工具开发移动设备应用程序并将其安装到设备中的常规过程。后面将更详细地描述每个步骤:

  1. 使用 mxmlc 工具编译应用程序。

    mxmlc +configname=airmobile MyMobileApp.mxml

    该步骤需要您传递设置为“airmobile”的 configname 参数。

  2. 使用 adl 工具在 AIR Debug Launcher (ADL) 中测试应用程序。

    adl MyMobileApp-app.xml -profile mobileDevice

    该步骤需要您创建应用程序描述符文件并将其作为参数传递至 adl 工具。还需要指定 mobileDevice 概要文件。

  3. 使用 adt 工具将应用程序打包。

    adt -package -target apk SIGN_OPTIONS MyMobileApp.apk MyMobileApp-app.xml MyMobileApp.swf

    该步骤需要您首先创建证书。

  4. 在移动设备上安装应用程序。要在 Android 设备上安装应用程序,请使用 adb 工具。

    adb install -r MyMobileApp.apk

    该步骤需要首先将移动设备通过 USB 连接至计算机。

  5. 将移动设备应用程序部署到在线商店。

使用 mxmlc 编译手机应用程序

您可以使用 mxmlc 命令行编译器编译手机应用程序。要使用 mxmlc,请将值 airmobile 传递给 configname 参数;例如:

mxmlc +configname=airmobile MyMobileApp.mxml
通过传递 +configname=airmobile,将指示编译器使用 airmobile-config.xml 文件。该文件在 sdk/frameworks 目录中。该文件执行以下任务:

  • 应用 mobile.swc 主题。

  • 更改以下库路径:

    • 从库路径中删除 libs/air。手机应用程序不支持 Window 和 WindowedApplication 类。

    • 从库路径中删除 libs/mx。手机应用程序不支持 MX 组件(不是图表)。

    • 将 libs/mobile 添加至库路径。

  • 删除 ns.adobe.com/flex/mx 和 www.adobe.com/2006/mxml 命名空间。手机应用程序不支持 MX 组件(不是图表)。

  • 禁用辅助功能。

  • 删除 RSL 条目;手机应用程序不支持 RSL。

mxmlc 编译器生成 SWF 文件。

使用 adl 测试手机应用程序

可以使用 AIR Debug Launcher (ADL) 来测试手机应用程序。通过 ADL,无需先将应用程序打包并安装到设备上,即可运行和测试应用程序。

使用 adl 工具进行调试

ADL 会在标准输出中输出 trace 语句和运行时错误,但不支持断点或其它调试功能。对于复杂的调试问题,可以使用 Flash Builder 等集成开发环境。

启动 adl 工具

要从命令行启动 adl 工具,请传递手机应用程序的应用程序描述符文件并将 profile 参数设置为 mobileDevice,如下例所示:

adl MyMobileApp-app.xml -profile mobileDevice

mobileDevice 概要文件定义移动设备上所安装应用程序的一组功能。有关 mobileDevice 概要文件的具体信息 请参阅不同配置文件的功能

创建应用程序描述符

如果未使用 Flash Builder 来编译应用程序,请手动创建应用程序描述符文件。您可以使用 /sdk/samples/descriptor-sample.xml 文件作为基础文件。通常,至少需要进行以下更改:

  • 将 <initialWindow><content> 元素指向您的手机应用程序 SWF 文件的名称:

    <initialWindow>
    <content>MyMobileApp.swf</content>
       ...
    </initialWindow>
  • 更改应用程序的标题,因为它将显示在移动设备上该应用程序的图标下。要更改标题,请编辑 <name><text> 元素:

    <name>
    <text xml:lang="en">MyMobileApp by Nick Danger</text>
    </name>
  • 将 <android> 块添加到应用程序的 Android 特定的权限中。您通常可以使用以下权限,具体取决于设备所使用的服务:

    <application>
    ...
    <android>
    <manifestAdditions>
    <![CDATA[<manifest>
    <uses-permission android:name="android.permission.INTERNET"/>
    </manifest>]]>
    </manifestAdditions>
    </android>
    </application>

您也可以使用描述符文件设置应用程序的高度和宽度、图标文件的位置、版本控制信息以及有关安装位置的其它详细信息。

有关创建和编辑应用程序描述符文件的更多信息,请参阅 AIR 应用程序描述符文件

使用 adt 将手机应用程序打包

可以使用 AIR Developer Tool (ADT) 通过命令行将手机应用程序打包。adt 工具可以创建能部署到手机 Android 设备的 APK 文件。

创建证书

在创建 APK 文件前,请创建一个证书。出于开发目的,您可以使用自签证书。您可以使用 adt 工具创建自签证书,如以下示例所述:

adt -certificate -cn SelfSign -ou QE -o "Example" -c US 2048-RSA newcert.p12 password

adt 工具在当前目录中创建 newcert.p12 文件。当您打包您的应用程序时,您将该证书传递至 adt。请不要为生产应用程序使用自签名证书。这些证书仅为用户提供有限担保。有关使用由受认可的的证书机构颁发的证书对 AIR 安装文件进行签名的信息,请参阅
AIR 应用程序进行签名

创建包文件

要为 Android 创建 APK 文件,请将应用程序的相关详细信息(包括证书)传递给 adt,如下例所示:

adt -package -target apk -storetype pkcs12 -keystore newcert.p12 -keypass password MyMobileApp.apk MyMobileApp-app.xml MyMobileApp.swf

adt 工具将输出 appname.apk 文件。

针对 iOS 打包

要针对 iOS 将手机应用程序打包,必须从 Apple 获取开发人员证书和配置文件。这需要您加入 Apple 的开发者计划。有关更多信息,请参阅构建、调试或部署 iOS
应用程序前的准备工作

 Flex evangelist Piotr Walczyszy 解释了如何使用
ADT 和 Ant 将应用程序打包
(适用于 iOS 设备)。

 Blogger Valentin Simonov 提供了有关如何在 iOS 上发布应用程序的其它信息

使用 abd 在设备上安装移动设备应用程序

可以使用 Android Debug Bridge (adb) 在运行 Android 的移动设备上安装应用程序(APK 文件)。adb 工具是 Android SDK 的一部分。

将设备连接到计算机

在运行 abd 以便在移动设备上安装 APK 文件之前,需要将设备连接到计算机。在 Windows 和 Linux 系统中,要连接设备,需要使用 USB 驱动程序。

有关为设备安装 USB 驱动程序的信息,请参阅使用硬件设备

在连接的设备上安装应用程序

将设备连接到计算机后,可以将应用程序安装到设备中。要使用 adb 工具安装应用程序,请使用 install 选项并传递 APK 文件的名称,如下例所示:

adb install -r MyMobileApp.apk

如果您之前已安装应用程序,则使用 -r 选项将其覆盖。否则,每次要将更新版本的应用程序安装到移动设备中时,都必须先卸载该应用程序。

将应用程序部署到在线商店

您可以将应用程序部署到 Android Market、Amazon Appstor 或 Apple App Store 等在线应用程序商店。

 Lee Brimlow介绍了如何将
Android 应用程序的新 AIR 部署到 Android Market

 Christian Cantrell解释了如何将应用程序部署到
Amazon Appstore for Android

保留 bin-release-temp 文件夹和 dSYM 文件夹

导出用于发行版的包时,Flash Builder 将在项目的 bin-release-temp 文件夹中创建发行版质量的 SWF 文件、应用程序描述符 xml 文件及所需的包内容。导出包之后,Flash Builder 默认将删除 bin-release-temp 文件夹中的内容。

如果想保留该文件夹的内容,不让 Flash Builder 删除它,可在“导出发行版”对话框中选择“保留 Bin-Release-Temp 文件夹”。每次在导出时想保留 bin-release-temp 文件夹的内容时,都需要明确做出这样的选择。

保留 *.dSYM 文件夹

当在 Mac 上导出具有本机扩展的 Apple iOS 包 (IPA) 时,AOT (ahead-of-time) 编译器会创建一个文件夹(扩展名为 *.dSYM)。*.dSYM 文件夹将创建在 bin-release-temp 文件夹内的 AOT/*.dSYM 中。要保留 *.dSYM 文件夹,不让 Flash Builder 默认删除它,可在“导出发行版”对话框中选择“保留 Bin-Release-Temp 文件夹”。

注: 运行或调试 iOS 包应用程序时,系统会在 bin-debug 文件夹内的 AOT/*.dSYM 中创建一个 *.dSYM 文件夹。此文件夹包含在 Mac 上调试本机扩展所需的文件。Flash Builder 默认保留此文件夹。

【Abode Air程序开发】打包并导出的更多相关文章

  1. 【Abode Air程序开发】Flex air文件打包和运行

    1 安装Adobe AIR 运行时,和java的JVM类似. Adobe AIR 运行时允许在桌面运行AIR应用程序,脱离游览器的束缚. 下载安装文件http://get.adobe.com/cn/a ...

  2. 【Abode Air程序开发】在设备上进行安装

    在设备上进行安装 在 Google Android 设备上安装应用程序 在 Apple iOS 设备上安装应用程序 在 Google Android 设备上安装应用程序 在项目的开发.测试和部署阶段, ...

  3. 【Abode Air程序开发】移动设备、桌面和浏览器应用程序开发的差异

    移动设备.桌面和浏览器应用程序开发的差异 在移动设备应用程序中使用 Spark 和 MX 组件的限制 移动设备应用程序在性能方面的注意事项 浏览器  将应用程序部署为 SWF 文件,以用于在浏览器中运 ...

  4. 【Abode Air程序开发】iOS证书(.p12)和描述文件(.mobileprovision)申请

    iOS证书(.p12)和描述文件(.mobileprovision)申请 5+App开发 Apple证书 iOS证书 iOS有两种证书和描述文件: 证书类型 使用场景 开发(Development)证 ...

  5. 【Adobe Air程序开发】用Adobe Flex3开发AIR应用程序–入门指南

    1 安装Adobe AIR 运行时,和java的JVM类似.Adobe AIR 运行时允许在桌面运行AIR应用程序,脱离游览器的束缚.下载安装文件http://labs.adobe.com/downl ...

  6. AIR 程序开发系列 之五 保存数据的几种方式

    Local SharedObject 这种方法比较简单方便的保存少的数据到到设备中.你不用自己去管理这些数据,设备会自动管理他. SharedObject 在 flash.net 包中,继承自Even ...

  7. 【Adobe Air程序开发】eclipse安装flash builder 4.7插件以及java、flex整合开发

    看了看网上不少文章,发现很多内容都是很老的,没法用.故把自己的安装过程记录下来,方便以后使用 1.在这里,eclipse使用最新版eclipse juno 3.7 2.在adobe官网https:// ...

  8. 微信小程序开发工具测评

    1月9日微信小程序正式上线.很多企业都希望能在这个.但是在技术开发的问题上,却不知道该如何下手.经过一些程序员不辞辛苦连夜测试,终于从十余款工具呕心沥血筛选出四款比较靠谱实用的微信小程序开发工具.接下 ...

  9. Prism 4 文档 ---第4章 模块化应用程序开发

    模块化应用程序是指将一个应用程序拆分成一系列的可以组合的功能单元.一个客户端模块封装了应用程序的一部分,并且通常是一系列相关的关注点.它可以包含一个相关的组件的集合,就像用户界面,应用程序功能,和一些 ...

随机推荐

  1. 【Android-PopupMenu控件】 自定义标题栏+PopupMenu菜单

    效果图 1.布局文件 layout_main.xml 中间标题栏,左右各一个按钮. <LinearLayout xmlns:android="http://schemas.androi ...

  2. 适配器模式(Adapter)---结构型

    1 基础知识 定义:将一个类的接口(被适配者)转换成客户期望的另一个接口(目标).特征:使原本接口不兼容的类可以一起工作. 本质:转换匹配,复用功能.把不兼容的接口转换为客户端期望的样子从而实现功能的 ...

  3. mysql日常优化细节

    # sql语句优化> 1)使用limit限制一次性查询出的数据量2)链接查询代替子查询3)尽量不要使用select * ,将需要查找的字段列出来4)如果数据量特别大的话尽量将一条复杂的sql拆分 ...

  4. luogu 3698 [CQOI2017]小Q的棋盘 树形dp

    Code: #include <bits/stdc++.h> #define N 107 #define setIO(s) freopen(s".in","r ...

  5. linux上安装nginx详细步骤

    一.安装依赖包 yum install gcc gcc-c++ pcre-devel patch libffi-devel python-devel zlib-devel bzip2-devel op ...

  6. codeforces555E

    Case of Computer Network CodeForces - 555E Andrewid the Android is a galaxy-known detective. Now he ...

  7. Java 显示锁 之 重入锁 ReentrantLock(七)

    ReentrantLock 重入锁简介 重入锁 ReentrantLock,顾名思义,就是支持同一个线程对资源的重复加锁.另外,该锁还支持获取锁时的公平与非公平性的选择. 重入锁 ReentrantL ...

  8. Mybatis源码学习之类型转换(四)

    简述 JDBC数据类型与Java语言中的数据类型并不是完全对应的,所以在PreparedStatement为SQL语句绑定参数时,需要从Java类型转换成JDBC类型,而从结果集中获取数据时,则需要从 ...

  9. Qt 单元测试

      使用Qtcreator 自带的单元测试工具框架QTestlib进行测试. 一.创建一个单元测试程序 new project->other project ->Qt unit test ...

  10. Mac OS为UltraEdit在Terminal中添加快捷使用命令

    一,什么是UltraEdit 我觉得是个程序员,撸代码的都知道UrlEdit是什么.我们在会使用Linux,在Linux中有个很出名的编辑器gedit,使得我们在终端中输入gedit xxx.便可进入 ...