zoukankan      html  css  js  c++  java
  • air 移动开发配置文件详解

    说明:

    作者之前做过一年的Flex AIR移动跨平台开发,在之前学习过程中,一直是将笔记记在了Evernote上,有的笔记是自己写的,也有的笔记是在网上看到,顺手记下了的。 所以在这里声明下,如果在网上看到类似的或者是一模一样的文章,请见谅。 因为找不到原文作者,所以,不在我的博客里说明是转载自哪里了,望原文作者见谅。微笑

    目录 
    所需的 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 呈现时,不支持平移行为。
  • 相关阅读:
    bzoj 1030 [JSOI2007]文本生成器
    Swift 学习笔记 (闭包)
    Swift 学习笔记 (函数)
    HTML 学习笔记 JQueryUI(Interactions,Widgets)
    HTML 学习笔记 JQuery(表单,表格 操作)
    HTML 学习笔记 JQuery(animation)
    HTML 学习笔记 JQuery(盒子操作)
    HTML 学习笔记 JQuery(事件)
    HTML 学习笔记 JQuery(DOM 操作3)
    HTML 学习笔记 JQuery(DOM 操作2)
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330064.html
Copyright © 2011-2022 走看看