`
LiYunpeng
  • 浏览: 954627 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

air 移动开发配置文件详解

阅读更多
转自http://www.badyoo.com/index.php/2012/09/12/208/index.html

目录
所需的 AIR 运行时版本
应用程序标识
应用程序版本
主应用程序 SWF
主屏幕属性
支持的配置文件
必需的本机扩展
虚拟键盘行为

---------------

某些应用程序描述符设置对所有移动设备应用程序都很重要。


所需的 AIR 运行时版本
使用应用程序描述符文件的命名空间指定应用程序所需的 AIR 运行时版本。

在 application 元素中分配的命名空间,很大程度上决定了应用程序可以使用哪些功能。例如,如果应用程序使用 AIR 2.7 命名空间,但用户安装了某个未来版本,那么应用程序仍将参照 AIR 2.7 的行为(即使在未来版本中已经更改此行为)。只有当您更改命名空间并发布更新时,应用程序才会访问新的行为和功能。不过,安全修补程序不受此规则限制。

如果设备(如 Android)所使用的运行时不同于应用程序使用的运行时,那么当用户没有所需的 AIR 版本时,系统将提示用户进行安装或升级。在 iPhone 等包含运行时的设备上,不会发生这种情况(因为需要的版本和应用程序已经在一开始就打包在一起了)。

使用根 application 元素的 xmlns 属性指定命名空间。应该将下列命名空间用于移动应用程序(具体取决于您的目标移动平台):

iOS 4+ and iPhone 3Gs+ or Android:
<application xmlns="http://ns.adobe.com/air/application/2.7">
iOS only:
<application xmlns="http://ns.adobe.com/air/application/2.0">
注: 基于 AIR 2.0 SDK,Packager for iPhone SDK 提供针对 iOS 3 设备的支持。有关构建 iOS 3 的 AIR 应用程序的信息,请参阅构建 iPhone 应用程序。AIR 2.6 SDK(和更高版本)在 iPhone 3G、iPhone 4 和 iPad 设备上支持 iOS 4 及更高版本。

应用程序标识
对于发布的每个应用程序,以下几个设置应该是唯一的。包括 ID、名称和文件名。

Android 应用程序 ID

在 Android 上,通过为 AIR ID 加上前缀“air.”将其转换为 Android 包名称。这样的话,如果 AIR ID 是 com.example.MyApp,那么 Android 包名称是 air.com.example.MyApp。

<id>com.example.MyApp</id>
<name>My Application</name>
<filename>MyApplication</filename>
此外,如果该 ID 在 Android 操作系统上不是合法的包名称,它会转换成合法名称。连字符会更改成下划线;若任何 ID 组件以数字开头,会在前面加上大写字母“A”。例如,ID:3-goats.1-boat,会转换成包名称:air.A3_goats.A1_boat。

注: 添加到应用程序 ID 的前缀可以用于标识 Android Market 中的 AIR 应用程序。如果不希望应用程序因前缀而被标识为 AIR 应用程序,您必须对 APK 文件进行解包,更改应用程序 ID,并按照 Opt-out of AIR application analytics for Android 中的说明将其重新打包。
iOS 应用程序 ID

请将 AIR 应用程序 ID 设置为与您在 Apple iOS Provisioning Portal 中创建的应用程序 ID 匹配。

iOS 应用程序 ID 包含捆绑种子 ID,后面跟着捆绑标识符。捆绑种子 ID 是 Apple 分配给应用程序 ID 的一个字符串,例如 5RM86Z4DJM。捆绑标识符包含一个您选择的反向域样式名称。捆绑标识符可能以星号 (*) 结尾,表示通配符应用程序 ID。如果捆绑标识符以通配符结尾,您可以使用任意合法字符串替换该通配符。

例如:

如果您的 Apple 应用程序 ID 为 5RM86Z4DJM.com.example.helloWorld,则您在应用程序描述符中必须使用 com.example.helloWorld。
如果您的 Apple 应用程序 ID 为 96LPVWEASL.com.example.*(通配符应用程序 ID),则您可以使用 com.example.helloWorld 或 com.example.anotherApp,或者以 com.example 开头的其他 ID。
最后,如果您的 Apple 应用程序 ID 只是捆绑种子 ID 和通配符,如:38JE93KJL.*,则您可以在 AIR 中使用任意应用程序 ID。
指定应用程序 ID 时,请不要包括应用程序 ID 的捆绑种子 ID 部分。


应用程序版本
在 AIR 2.5 和更高版本中,可以在 versionNumber 元素中指定应用程序版本。不能再使用 version 元素。当为 versionNumber 指定值时,必须使用由点分隔的最多三个数字组成的序列,例如:“0.1.2”。版本号的每段最多可以具有三个数字。(即,“999.999.999”是允许的最大版本号)。不必将所有三段都包含在号码中;“1”和“1.0”都是合法的版本号。

也可以使用 versionLabel 元素来指定版本标签。如果添加了版本标签,就会显示版本标签,而不是像在 Android 应用程序信息屏幕等处一样显示版本号。必须为使用 Android Market 分发的应用程序指定版本标签。如果没有在 AIR 应用程序描述符中指定 versionLabel 值,则会将 versionNumber 值分配给 Android 版本标签字段。

<!-- AIR 2.5 and later -->
<versionNumber>1.23.7<versionNumber>
<versionLabel>1.23 Beta 7</versionLabel>
在 Android 上,AIR versionNumber 转换为 Android 整数 versionCode,转换公式为:a*1000000 + b*1000 + c,其中 a、b 和 c 分别代表 AIR 版本号的组成部分:a.b.c。


主应用程序 SWF
在 initialWindow 元素的 content 子元素中指定主应用程序 SWF 文件。在移动配置文件中定位设备时,必须使用 SWF 文件(不支持基于 HTML 的应用程序)。

<initialWindow>
    <content>MyApplication.swf</content>
</initialWindow>
必须包括 AIR 包中的文件(使用 ADT 或 IDE)。如果只是引用应用程序描述符中的名称,不会自动将此文件包括进包中。


主屏幕属性
initialWindow 元素的若干子元素控制主应用程序屏幕的初始外观和行为。

aspectRatio — 指定应用程序的初始显示方式为 portrait 格式(高大于宽)、landscape 格式(高小于宽)或 any 格式(舞台可自动调整到任何方向)。
<aspectRatio>landscape</aspectRatio>
autoOrients — 指定舞台是否应随着用户旋转设备或做出与方向相关的其他手势(如打开或关闭滑动键盘)而自动改变方向。如果设置为 false(默认),则舞台不会随设备改变方向。
<autoOrients>true</autoOrients>
depthAndStencil — 指定使用深度或模板缓冲区。通常在处理 3D 内容时使用这些缓冲区。
<depthAndStencil>true</depthAndStencil>
fullScreen — 指定应用程序应占据设备的整个显示屏,还是与标准操作系统窗口样式(如系统状态栏)共享显示屏。
<fullScreen>true</fullScreen>
renderMode — 指定运行时应使用图形处理单元 (GPU) 还是主要的中心处理单元 (CPU) 渲染应用程序。通常,GPU 渲染可以提高渲染速度,但某些功能(例如某些混合模式和 PixelBender 筛选器)在 GPU 模式下无法使用。此外,不同设备和不同设备驱动程序的 GPU 功能和限制是不同的。应始终在尽可能多的设备上测试应用程序,特别是使用 GPU 模式时。可以将渲染模式设置为 gpu、cpu、direct 或 auto。 默认值是 auto,该设置目前回退到 cpu 模式。
注: 为了利用具有移动平台 AIR Flash 内容的 GPU 加速,Adobe 建议使用 renderMode=”direct”(即 Stage3D),而不是 renderMode=”gpu”。Adobe 官方支持和建议以下基于 Stage3D 的框架:Starling (2D) 和 Away3D (3D)。有关 Stage3D 和 Starling/Away3D 的更多细节,请参阅http://gaming.adobe.com/getstarted/。
<renderMode>direct</renderMode>
GPU 模式的限制为:

Flex 框架不支持 GPU 渲染模式。
不支持滤镜
不支持 PixelBender 混合和填充
不支持以下混合模式:图层、Alpha、擦除、叠加、强光、变亮和变暗
不建议在播放视频的应用程序中使用 GPU 渲染模式。
在 GPU 渲染模式中,当虚拟键盘打开时,不会正确地将文本字段移动到可见的位置。若要确保文本字段在用户输入文本时可见,请使用舞台和软键盘事件的 softKeyboardRect 属性将文本字段移到可见区域。
如果显示对象无法通过 GPU 进行渲染,则根本不会显示。例如,如果将滤镜应用于显示对象,则不会显示该对象。
注: 在 AIR 2.6 以上的版本中,iOS 的 GPU 实现与在更早版本(AIR 2.0 版本)中使用的实现有很大的不同。适用不同的优化注意事项。

支持的配置文件
您可以添加 supportedProfiles 元素,以指定您的应用程序支持哪些设备配置文件。针对移动设备使用 mobileDevice 配置文件。当使用 Adobe Debug Launcher (ADL) 运行应用程序时,ADL 会将列表中的第一个配置文件用作活动配置文件。您也可以在运行 ADL 时使用 -profile 标志,以在支持列表中选择特定的配置文件。如果您的应用程序在所有配置文件下运行,则可以完全忽略 supportedProfiles 元素。在这种情况下,ADL 会将桌面配置文件用作默认的活动配置文件。

若要指定应用程序同时支持移动设备和桌面配置文件,并且您通常要在移动设备配置文件中测试应用程序,请添加以下元素:

<supportedProfiles>mobileDevice desktop</supportedProfiles>

必需的本机扩展
支持 mobileDevice 配置文件的应用程序可以使用本机扩展。

在应用程序描述符中声明 AIR 应用程序使用的所有本机扩展。下面的例子说明了用于指定两个所需本机扩展的语法:

<extensions>
     <extensionID>com.example.extendedFeature</extensionID>
    <extensionID>com.example.anotherFeature</extensionID>
</extensions>
extensionID 元素的值与扩展描述符文件中的 id 元素的值相同。扩展描述符文件是一个名为 extension.xml 的 XML 文件。已打包在从本机扩展开发人员处接收到的 ANE 文件中。


虚拟键盘行为
请将 softKeyboardBehavior 元素设置为 none,以便可以禁用自动平移和调整大小行为,运行时利用这些行为,可以确保在虚拟键盘出现后具有焦点的文本条目字段位于视图中。如果您禁用该自动行为,则在虚拟键盘出现后,确保文本条目区域或其他相关内容可见就是您的应用程序的职责。您可以使用舞台的 softKeyboardRect 属性,结合 SoftKeyboardEvent 来检测何时键盘将打开以及确定键盘遮住的区域。

若要启用该自动行为,请将该元素值设置为 pan:

<softKeyboardBehavior>pan</softKeyboardBehavior>
由于 pan 为默认值,省略 softKeyboardBehavior 元素也会启用自动键盘行为。

注: 当您同时使用 GPU 呈现时,不支持平移行为。
分享到:
评论

相关推荐

    adobe air3.1本机扩展开发的中文开发手手册

    ### Adobe AIR 3.1 本机扩展开发详解 #### 一、Adobe AIR 本机扩展简介 **Adobe AIR (Adobe Integrated Runtime)** 是一款由Adobe Systems开发的跨平台运行环境,允许开发者创建丰富的互联网应用程序(RIA),并在...

    J2ME开发详解工具篇 pdf

    5. **MIDlet套件和配置文件** 在J2ME中,应用程序称为MIDlet套件,由一个或多个MIDlets(J2ME应用程序的主要执行单元)和相关的资源文件组成。每个MIDlet套件都有一个MIDlet-Manifest文件,包含了关于MIDlet套件的...

    j2me手机游戏开发技术详解

    ### j2me手机游戏开发技术详解 #### J2ME概述 **1.1 J2ME体系结构** **1.1.1 JAVA技术的版本** Java技术根据不同的应用场景分为三个主要版本: - **J2SE(Java 2 Platform, Standard Edition)**:标准版,面向...

    J2ME开发详解-工具篇

    **J2ME开发详解-工具篇** 在移动设备和嵌入式系统开发领域,Java 2 Micro Edition(J2ME)扮演着重要角色。它提供了一套标准的API,使得开发者能够创建能在各种不同设备上运行的应用程序。本篇文章将深入探讨使用...

    J2ME手机游戏开发技术详解

    《J2ME手机游戏开发技术详解》是一本深入解析J2ME(Java 2 Micro Edition)平台上手机游戏开发的专业教程。这本书旨在为初级到高级的J2ME开发者提供全面的知识和实践经验,帮助他们掌握在移动设备上构建游戏的技能。...

    嵌入式Linux系统开发技术详解.基于ARM

    嵌入式Linux系统开发技术是现代电子设备设计与制造的核心技术之一,特别是在基于ARM架构的处理器上...这份"嵌入式Linux系统开发技术详解.基于ARM"的资源将是一个宝贵的指南,帮助你掌握这一领域的核心技术和最佳实践。

    J2ME 移动信息应用开发教程 From SUN公司

    - **定义**:Mobile Information Device Profile (MIDP)是基于Connected Limited Device Configuration (CLDC)的一个配置文件,定义了适用于移动设备(如手机和PDA)的Java应用程序环境。 - **规范版本**:MIDP 2.0...

    AirPrint无线打印套件(包含说明)

    **AirPrint无线打印套件详解** AirPrint是苹果公司推出的一种无线打印技术,它使得iOS设备(如iPhone、iPad和iPod touch)以及Mac电脑能够方便地与支持AirPrint的打印机进行无线打印,无需额外安装驱动程序。这个...

    J2ME游戏开发实例讲解

    虽然文中并未实际进行发布,但开发者应了解发布流程,包括构建JAR文件,创建描述文件,以及可能的OTA(Over The Air)分发。了解这些过程可以帮助开发者准备面向市场的作品。 总的来说,J2ME游戏开发涉及项目管理、...

    Air for android 本机扩展,调节亮度示例

    在移动开发领域,Adobe Air 提供了一种跨平台的解决方案,使得开发者可以使用Flash或ActionScript技术开发Android应用。本篇文章将深入探讨如何利用Air for Android的本机扩展(Native Extension)功能,实现对设备...

    移动MM ane 附源码

    在使用ANE时,确保遵循Adobe Air和Android的开发最佳实践,例如处理权限请求、适配不同版本的Android系统以及进行充分的测试,以确保在各种设备和网络条件下都能稳定运行。 总结来说,"移动MM ane 附源码"是一个...

    Flash串口通信ANE.rar

    Flash Air是Adobe提供的一个开发平台,允许开发者使用ActionScript 3(AS3)语言创建跨平台的应用程序,特别是在桌面和移动设备上。Flash Air支持本地存储和访问设备功能,如文件系统、摄像头和麦克风,而串口通信...

    《手机游戏开发全书-J2ME完整实例精解》源码

    将游戏打包为JAR和jad文件,通过WAP或OTA(Over The Air)方式分发给用户。理解MIDlet签名和安全机制,以便在不同平台上发布游戏。 这份源码不仅提供了学习J2ME游戏开发的实例,也包含了许多实际项目中会遇到的...

    J2ME开发资料-来源于Nokia

    ### J2ME应用开发之MIDlets空中下载配置详解 #### 一、引言 随着移动互联网技术的发展,Java在移动设备上的应用越来越广泛。Java 2 Micro Edition (J2ME) 是Sun Microsystems针对资源受限的设备(如手机、PDA等)...

    jQuery Air Datepicker跨浏览器日期选择器特效.zip

    《jQuery Air Datepicker:跨浏览器日期选择器特效详解》 在网页开发中,日期选择器是一种常见的交互元素,用于方便用户输入日期。jQuery Air Datepicker是一款高效、易用且跨浏览器的日期选择器插件,它为网页界面...

    air_extensions.pdf

    为了在电视上部署 AIR 应用程序,开发者需要遵循一系列特定的步骤,包括配置开发环境、构建本机扩展、测试和调试等。 ##### 2. 设备绑定扩展和存根扩展 为了确保本机扩展能够在不同的电视设备上运行,开发者需要...

    J2ME开发大全,很好的参考文档

    发布J2ME应用通常涉及将应用打包为JAR和jad文件,jad文件包含了应用的元数据,如版本信息和必需的配置。然后,应用可以通过运营商的OTA(Over The Air)服务、应用商店或者直接通过网络下载进行分发。 总的来说,...

    Baidu-Mobile-Flex.rar_flex_flex mobile

    虽然只有一个文件名“百度地图(移动版)”给出,但通常情况下,这样的压缩包内会包含源代码、库文件、配置文件、文档和其他辅助资源。在这个例子中,我们可以推测这个文件可能是一个包含了Flex项目源码的文件夹,...

Global site tag (gtag.js) - Google Analytics