移动开发:fb的-app.xml文件
应用程序标识
对于发布的每个应用程序,以下几个设置应该是唯一的。包括 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 上,AIRversionNumber转换为 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格式(高度小于宽度)。
<aspectRatio>landscape</aspectRatio>
-
autoOrients— 指定舞台是否应随着用户旋转设备或做出与方向相关的其他手势(如打开或关闭滑动键盘)而自动改变方向。如果设置为false(默认),则舞台不会随设备改变方向。
<autoOrients>true</autoOrients>
-
fullScreen— 指定应用程序应占据设备的整个显示屏,还是与标准操作系统窗口样式(如系统状态栏)共享显示屏。
<fullScreen>true</fullScreen>
-
renderMode— 指定运行时应使用图形处理单元 (GPU) 还是主要的中心处理单元 (CPU) 渲染应用程序。通常,GPU 渲染可以提高渲染速度,但某些功能(例如某些混合模式和 PixelBender 筛选器)在 GPU 模式下无法使用。此外,不同设备和不同设备驱动程序的 GPU 功能和限制是不同的。应始终在尽可能多的设备上测试应用程序,特别是使用 GPU 模式时。
可以将渲染模式设置为gpu、cpu或auto。默认值是auto,该设置目前回退到 CPU 模式。请勿对 Flex 应用程序使用 GPU 渲染模式。
<renderMode>gpu</renderMode>
GPU 模式的限制为:
-
Flex 框架不支持 GPU 渲染模式。
-
不支持滤镜
-
不支持 PixelBender 混合和填充
-
不支持以下混合模式:图层、Alpha、擦除、叠加、强光、变亮和变暗
-
不建议在播放视频的应用程序中使用 GPU 渲染模式。
-
在 GPU 渲染模式中,当虚拟键盘打开时,不会正确地将文本字段移动到可见的位置。若要确保文本字段在用户输入文本时可见,请使用舞台和软键盘事件的 softKeyboardRect 属性将文本字段移到可见区域。
-
如果显示对象无法通过 GPU 进行渲染,则根本不会显示。例如,如果将滤镜应用于显示对象,则不会显示该对象。
-
支持的配置文件
您可以添加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 呈现时,不支持平移行为。
更多相关文章
- 箭头函数的基础使用
- NPM 和webpack 的基础使用
- Python list sort方法的具体使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- 测试你的Android应用程序
- Android核心模块内容概述
- android用户界面之WebView教程实例汇总
- Android开发入门教程
- Android开发从Dagger2迁移至Kodein的感受