`

Adobe AIR for Android开发记录

阅读更多

1. 通过USB直接连接HTC Desire HD调试AIR for Android mobile应用程序

1) HTC Desire HD 需满足以下几点:

a) Settings→Application→Unknown sources 为选中状态

b) Settings→Application→Development→USB debugging 为选中状态

c) USB连接到PC时选择:Charge only

2) PC 需满足以下几点:

a) 准备安装HTC Desire HD的驱动程序:

USB连接HTC Desire HD到PC后,如果没有出现新硬件向导,则可以打开 设备管理器,可以发现有名为 ADB 的其他设备,查看该设备的属性,记录其硬件id(有用),然后为该设备安装驱动程序,在安装驱动程序前先需要进行下文 b) 中描述的操作。

b) 编辑 %Adobe Flash Builder 4.5 Home%\utilities\drivers\android\android_winusb.inf 

    在 [Google.NTx86] 或 [Google.NTamd64] 下增加以下3行:

;  
;HTC Desire HD  
%CompositeAdbInterface%     = USB_Install, USB\VID_0BB4&PID_0CA2&MI_01  

 注:USB\ 后的是硬件id,需要根据实际情况进行修改,可以通过 设备管理器->未知设备->ADB的属性得到(上文a))

c) 安装HTC Desire HD的驱动程序:选择浏览驱动程序文件,定位到 %Adobe Flash Builder 4.5 Home%\utilities\drivers\android,忽略警告,确认安装,安装成功后,则可以在 设备管理器 中看到新出现了名为 Android Phone 的设备。

3) Debug 时选择on device -> Debug via USB。

更 多关于在手机上调试AIR mobile应用程序,详见:http://help.adobe.com/zh_CN/flex/mobileapps/WSe4e4b720da9dedb5-2d82208b12e46a72ded-8000.html

 

 

2. 软键盘出现和消失后的screen布局自动调整

AIR2.6 已支持自动调整,但需要设置以下属性(否则不会自动调整或调整存在问题):

1) Application 属性 resizeForSoftKeyboard=true ;

注:Flex4.5.1+AIR2.7,resizeForSoftKeyboard 默认为true,Flex4.6.0+AIR3.1 resizeForSoftKeyboard 默认为 false ,AIR3的Runtime下同为默认false,故保险起见,当需要该属性值为false时,请进行显式设置 ,以免因不同runtime版本导致自动调整布局失效。

2) 应用的描述文件 app.xml 的 <initialWindow> 节点中需设置:

a) <fullScreen>false</fullScreen>  (经调试,该设置为自动调整布局的关键)

b) <renderMode>cpu</renderMode>

c) <softKeyboardBehavior>none</softKeyboardBehavior>

详见Adobe官方文档:在手机应用程序中支持屏幕键盘

 

3. 在 TextArea 组件中显示 htmlText

Spark 组件 TextArea 已没有 htmlText 属性,而手机应用中也不建议使用 textFlow 属性,正愁怎么实现呢,好在官方文档已给出解决方案,原来很简单。

详见Adobe官方文档:在手机控件中使用 HTML 文本

 

4. 关于在不同设备上的显示效果

详见:开发AIR mobile应用时多设备上的显示处理

 

 

开发过程中遇到的种种:

1. 连接真机调试状态下,应用启动显示 splashScreenImage 图片时,转换屏幕方向,此时会出现如下异常:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at spark.components::Application/softKeyboardDeactivateHandler()[...\frameworks\projects\spark\src\spark\components\Application.as:1631]

    查看源码:

                // Restore the original values
                setActualSize(stage.stageWidth / scaleFactor, stage.stageHeight / scaleFactor);
     stage 为 null 引发异常,非调试状态不会出现异常,暂不深究其因。

 

2. AIR 2.6 时,在HTC DesireHD上,默认情况下view的title字体偏小(整个title区域高度较小),当升级到2.7.0.1948后,title区域高度和title字体比较适中。

PS: 印象中AIR2.6时显示该设备是DPI160, 应为 DPI240,AIR2.7显示是DPI240的,这点不是十分确定,记录一下。

 

3. 目前(2011-7-26)AIR 2.7+FlashBuilder 4.5 (windows平台) 开发 Android 应用的一些局限性:

1) 目前最大的限制

    运行AIR for Android需要:Android2.2+

    除以上软环境外,最最影响的其实是那颗CPU:支持flash的CPU至少需要A8架构、ARMV7指令集的CPU

    具体来说,目前已知以下CPU是不支持flash的:高通MSM7227

    不支持AIR的具体机型有:HTC G13、MOTO XT531、LG P503、SAMSUNG S5830

相关参考:All supported devices

v880 CPU《高通MSM7227》详细介绍

G13上网页看不视频怎么办啊?

LG P503点评

AIR Android开发(三) 使用apk-tool整合native程序时的注意事项

[新闻] 乔布斯称 Adobe Flash 是“CPU hog”

2) 暂无法实现的功能:状态栏通知、振动。

注:从  AIR 3.0.0.369 Beta 2 开始已支持 Native Extensions ,可实现上述功能。

3) 大部分mx和spark组件是不能使用的,可用的组件中也并非所有属性可用,FlashBuilder 会给出提示说明是否可用。

    特别点名极有可能想用却不能用的组件:日期选择组件(DateField)、下拉式组件(DropDownList, ComboBox)。

注: Flex 4.6.0 已增加了若干UI组件,包括 SpinnerList、DateSpinner、ToggleSwitch 等。

 

分享到:
评论

相关推荐

    使用AdobeAIR开发android应用

    在探讨如何使用Adobe AIR开发Android应用之前,我们首先需要对Adobe AIR有一个清晰的理解。Adobe AIR,全称为Adobe Integrated Runtime,是一种跨平台的应用程序运行环境,它允许开发者利用HTML、JavaScript、Flash...

    adobe air for android v3.03

    adobe air for android v3.03 apk文件 在安卓上安装air平台

    [使用AdobeAIR开发Android应用程序].PDF 及源代码

    4. **PDF文档的价值**:“[使用AdobeAIR开发Android应用程序].PDF”可能包含详细的教程和指南,涵盖了从环境设置到实际编程的全过程,可能包括Air SDK安装、Flex Builder或IntelliJ IDEA的使用、打包和发布应用等...

    air for android hello world

    总之,"air for android hello world" 是一个入门级的教程,涵盖了使用Adobe AIR开发Android应用的基本流程。通过这个简单的示例,你可以了解到如何使用AIR SDK创建、编译和运行Android应用,为更复杂的项目打下基础...

    adobe air开发android应用 developing android application with adobe air

    ### 使用Adobe AIR开发Android应用:详细入门教程 随着移动设备的普及和技术的发展,越来越多的应用程序被开发出来以满足用户在不同场景下的需求。Adobe AIR(Adobe Integrated Runtime)是一种跨平台的应用程序...

    使用Adobe AIR开发Android应用程序-英文版

    本教程聚焦于使用Adobe AIR开发Android应用程序,这对于想要将Flash内容扩展到移动领域的开发者来说是一个宝贵的资源。 首先,了解Adobe AIR的基本概念是至关重要的。AIR提供了一个沙箱环境,使得基于Web的技术能够...

    adobe air runtime version 50.2.4.1 for windows

    在标签中,"windows"指明了操作系统平台,"AdobeAirRuntime"是关键词,强调了我们讨论的主题,而"adobeair"则是对主题的另一种表述。 压缩包内的文件"AdobeAIR-runtime-Windows-v50.2.4.1"很可能是Adobe AIR运行时...

    Android移动开发--基于Adobe AIR 源代码

    **Android 移动开发——基于Adobe AIR 源代码** 在Android移动开发中,Adobe AIR(Adobe Integrated Runtime)提供了一种跨平台的方式,允许开发者使用熟悉的Flash、Flex或ActionScript技术来构建原生的移动应用。...

    《使用AdobeAIR开发Android应用程序》源代码

    《使用Adobe AIR开发Android应用程序》源代码是一份珍贵的学习资源,专为开发者提供关于如何使用Adobe AIR技术构建针对Android平台的应用程序的实例和实践指导。Adobe AIR(Adobe Integrated Runtime)是一个跨平台...

    Android移动应用开发基于AdobeAIR

    资源名称:Android移动应用开发 基于Adobe AIR内容简介:《Android移动应用开发:基于AdobeAIR》共四部分19章,主要介绍如何使用AdobeAIR开发Android移动应用,深入讲解Android移动开发特有的各种主题,力图帮助读者...

    Developing Adobe AIR Applications for Android

    根据提供的文件内容,以下知识点将详细阐述开发Android平台上的Adobe AIR应用程序的相关要点: 1. 开发工作流程 开发Adobe AIR应用程序涉及的具体工作流程包括创建、测试、打包和部署。首先需要搭建开发环境,这...

    adobe air runtime version 33.1.1.744 for Mac

    在压缩包文件名称"AdobeAIR-Runtime-Mac-v33.1.1.744"中,我们可以推断出这个压缩文件包含了Adobe AIR运行时的安装程序,专为Mac用户设计,并且是版本33.1.1.744。 安装Adobe AIR运行时后,开发者可以使用Adobe ...

    adobe air runtime version 33.1.1.744 for windows

    Adobe AIR runtime 33.1.1.744的文件名"AdobeAIR-runtime-Windows-v33.1.1.744"表明这是专为Windows设计的,文件包含了所有必要的组件,使得用户能够在Windows系统上顺畅地运行AIR应用。 使用Adobe AIR开发的应用...

    Adobe AIR 开发人员工具箱

    学习Adobe AIR开发,可以通过网络上的各种教程和资源,例如JavaEye社区提供的“Adobe AIR 开发人员工具箱:资源与教程”一文,该文提供了关于AIR开发的实用信息和指导,是初学者的良好参考资料。通过这些资源,...

    ADOBEAIR完整入门与开发实录——使用FLEXFLASHAJAX开发AIR应用第01章-.pdf

    "ADOBE AIR完整入门与开发实录——使用FLEX FLASH AJAX开发AIR应用" 本书的主要内容是介绍Adobe AIR平台的开发实录,通过使用FLEX、FLASH和AJAX技术来开发RIA(Rich Internet Applications)。在本章中,作者首先...

    Adobe air官方中文开发教程

    Adobe air官方中文开发教程,供大家一起参考学习。

    Android移动应用开发基于AdobeAIR(布罗西耶著)

    Android移动应用开发基于AdobeAIR(布罗西耶著) Android移动应用开发

    利用Adobe AIR本地扩展支持Android开发

    标题:“利用Adobe AIR本地扩展支持Android开发” 在移动应用开发领域,Adobe AIR为开发者提供了一种跨平台的方式,使得创建的富互联网应用程序(RIA)能够运行在桌面和移动设备上,包括Android平台。Adobe AIR通过...

Global site tag (gtag.js) - Google Analytics