基于AIR Android应用开发
——环境搭建
1. AIR SDK之于Android
AIR SDK是一组打包和部署AIR应用程序的工具。它与工具捆绑,所以无需额外的安装。工具负责访问这些文件,不需要有你进行任何管理。AIR SDK有下面这些组件构成。
图0:AIR SDK组件图
n AIR Develop Tool(ADT)
AIR使用Java编写的多用途工具。它需要Java 1.5或更高的版本才能运行,用于为Android设备打包AIR应用程序。它根据指定的目标来创建不同的包:
l apk用于发布
l apk-emulator用于模拟器
l apk-debug用于在本地或者在设备上调试
ADT创建自由签名的数字代码证书,用于签署应用程序,通过一个选项来延长有效期,以遵循Android规范。它能在Android设备上安装、卸载和启动应用程序。ADT工具的名称是adt或adt.bat,位于bin文件夹。adt.jar是由adt或adt.bat调用的可执行文件位于lib文件夹。
n AIR Debug Launcher(ADL)
ADL用于在开发期间测试AIR应用程序,而无需对他进行打包。它使用SDK包含的运行时,并能打印跟踪语句和运行时错误。还可用于启动Flash Debugger(FDB)会话。ADL工具名为adl或adl.exe,位于bin文件夹中。
n AIR runtime(AIR运行时)
在将应用程序安装到设备之前,AIR运行时用于在开发和调试过程中启动和测试应用程序。AIR运行时的名称是runtime.apk,位于runtimes文件夹。
n Frameworks
Frameworks目录包含所有AIR核心库。
2. 依赖环境
2.1. JDK安装
需要Java 1.5或更高的版本才能运行。如果你还没有JDK的话,可以去这里下载,接下来的工作就是安装提示一步一步走。设置环境变量步骤如下:
n 我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量;
n JAVA_HOME值为: D:\Program Files\Java\ jdk1.7.0_10(你安装JDK的目录)
n CLASSPATH值为:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;
n Path: 在开始追加 %JAVA_HOME%\bin;
安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java –version 查看JDK的版本信息。出现类似下面的画面表示安装成功了:
图1:验证JDK安装是否成功
2.2. AIR SDK
一般Flex SDK中已经包含了AIR SDK,可以去Adobe或者Apache Flex网站下载。解压到你喜欢的路径即可,然后在相应的开发工具Flash Builder或Flash Develop中设置SDK即可。也可以单独下载AIR SDK,然后解压到Flex SDK目录里面。
如果你使用Flash Builder开发,SDK都已经随着Flash Builder按照好了,直接使用即可;如果你使用Flash Develop开发,可以参考走在网页游戏开发的路上(一)介绍的方法设置。
3. 开发工具及步骤
下面介绍使用Flash Builder和Flash Develop这2个开发工具Android应用,个人主要使用Flash Develop开发(写代码利器),高级调试时使用Flash Builder。
3.1. Flash Builder
“文件”—>“新建”—>“ActionScript手机项目”或“Flex手机项目”。如果想使用Flex框架,就选择Flex手机项目;如果想使用纯ActionScript,就选择ActionScript手机项目。我们选择ActionScript手机项目。
创建应用程序描述
在“手机设置“中:
n 目标平台(Target Platforms),选择Google Android;
n 权限(Permissions),选择Internet;
n 单击“下一步”,然后设置应用程序主文件(即文档类)、应用程序ID、输出文件夹等等;
n 单击“完成”。
图2:应用程序描述-手机设置
图3:构建路径设置
根据上面设置的应用程序描述,会自动生成一个XML文件,它在打包时与.swf文件捆绑,这个文件可以手动修改。应用程序描述包含屏幕方向,权限设置等等,我们例子中生成的描述文件为——HelloWorld-app.xml,你可以打开查看下里面有哪些设置。
在桌面上测试程序
将应用程序安装到设备之前,应该先在桌面上运行一下,以防其中包含语法错误等。
将应用程序打包成apk文件并安装到设备
为了在Flash Builder中将应用程序打包成APK文件并安装到Android设置上,请按以下步骤操作。
n 右键项目文件夹,然后从弹出的快捷键菜单中选择“属性”。
n 选择“ActionScript构建打包”-->“Google Android”—>“数字签名”-->“证书”。如果已经有AIR代码签名证书,浏览选择即可;否则创建一个临时证书,填写相应选项即可。
图4:选择数字签名-证书
图5:创建数字证书
n 返回“运行配置”。在启动方法下选择“在设备上”,单击“运行”。这个时候会创建一个APK文件,可以在项目中看到它。APK文件会安装到设备上,随后设备启动应用程序。
测试和调试
Adobe远程调试会话支持USB(推荐)或Wi-Fi,这正是之前设置Internet权限的原因。使用Wi-Fi,要打开一定设置的Wi-Fi,并且在Windows中,要设置防火墙来打开7935端口。
图6:调试选项
为了在Flash Builder进行测试盒调试,可以点击屏幕顶部的Debug按钮。点击按钮式,在控制台窗口会出现trace语句。除了输出窗口中显示的跟踪,还可以在调试过程中使用断点控制、单步调试和变量监视等功能。(其实跟普通的as项目调试一样简单)
3.2. Flash Develop
“项目”—>“新建项目”-->“AIR手机AS3项目(AIR Mobile AS3 App)”或者“AIR 手机Flex项目(AIR Mobile Flex App)”。我使用的是FD4.2.4,创建项目之后,FD会自动为我们生成很多设置文件。
图7:Flash Develop Android项目结构
应用程序描述文件
application.xml是自动生成的应用程序描述文件,可以手动修改xml文件;也可以通过“项目”-->”AIR项目属性”进行设置。
图7:修改Initial Window描述部分
图8:修改Manifiest部分
测试、调试、打包、安装
n 配置
l - edit 'bat\SetupSDK.bat' for paths to Flex SDK and Android SDK (default should be ok)
l install your device's USB drivers
l enable "USB debugging" on your Android device: Parameters > Applications > Development > USB Debugging
n 运行'bat\CreateCertificate.bat'创建签名认证;
n F8构建项目;
n Run/debug the application on the desktop as usual (F5 or Ctrl+Enter)
n 如果手机上没有安装AIR环境,可以运行'bat\InstallAirRuntime.bat'安装;
n 在手机上调试运行
l edit 'Run.bat' and change the run target 'goto desktop' by 'goto android-debug'
l build & run as usual (Ctrl+Enter or F5) to package, install & run the application on your device
n 正式发布项目
l Release-build from FlashDevelop (F8)
l run 'PackageApp.bat' and select Android/normal target
4. Hello World
按照【开发工具及步骤】中创建项目,在主文件如下,启动app显示一行文本“Hello World!”。
Main.as |
public class Main extends Sprite {
public function Main():void { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.addEventListener(Event.DEACTIVATE, deactivate);
// touch or gesture? Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
// entry point //设置字体样式 var font:TextFormat = new TextFormat(); font.size = 28; font.color = 0xFF8000; // var hello:TextField = new TextField(); hello.defaultTextFormat = font; hello.text = "Hello World!"; hello.autoSize = TextFieldAutoSize.CENTER; addChild(hello); }
private function deactivate(e:Event):void { // auto-close NativeApplication.nativeApplication.exit(); }
} |
打包安装到手机上面效果如下图:
图9:Hello World效果图(比较丑-_-。sorry!)
注意:如果使用的调试版本,可能会有下面这个提示,输入电脑的ip会连接上调试,不输入直接取消不影响功能。
图10:调试连接提醒
5. 总结
开发工具中介绍了如何使用Flash Builder创建和调试Android应用程序,其实这些工具为了做了以下几件事(我们手动也可以做到)。
1) 创建应用程序描述文件,并且和应用程序捆绑一起打包。下面一个应用程序描述文件例子,字段名字都很好理解:
application.xml |
<?xml version="1.0" encoding="utf-8" ?> <application xmlns="http://ns.adobe.com/air/application/3.5">
<id>air.HelloWorld</id> <versionNumber>0.1</versionNumber> <supportedProfiles>mobileDevice</supportedProfiles> <filename>HelloWorld</filename>
<name>Hello World</name> <description></description> <copyright></copyright>
<android> <manifestAdditions><![CDATA[
<manifest android:installLocation="auto"> <uses-sdk android:minSdkVersion="8"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/> </manifest>
]]></manifestAdditions> </android>
<initialWindow> <title>Hello World</title> <content>HelloWorld.swf</content> <visible>true</visible> <fullScreen>true</fullScreen> <!--<autoOrients>false</autoOrients>--> <!--<aspectRatio>landscape</aspectRatio>--> <renderMode>direct</renderMode> </initialWindow>
<icon> <image48x48>icons/icon_48.png</image48x48> <image57x57>icons/icon_57.png</image57x57> <image72x72>icons/icon_72.png</image72x72> <image114x114>icons/icon_114.png</image114x114> <image512x512>icons/icon_512.png</image512x512> </icon> </application> |
2) 创建代码签名证书。我们可以手动使用以下命令创建
创建代码签名证书 |
adt -certificate -validityPeriod 25 -cn [应用名称] 1024-RSA [代码签名文件] [签名密码] |
3) 将AIR应用程序打包成APK文件。
打包成APK文件 |
adt -package –target apk -storetype pkcs12 -keystore [代码签名文件] -storepass [签名密码] [打包文件名xxx.apk] [应用程序描述文件application.xml] [swf] |
4) 将APK文件安装到Android设备
安装APK文件 |
Android-SDK-path/tools/adb install xxx.apk
说明: 如果应用程序以安装到设备,就是用-r命令重新安装 Android-SDK-path/tools/adb install –r xxx.apk |
待续:基于AIR Android应用开发2:ANDROID运行AIR程序原理