代码改变世界

基于AIR Android应用开发1:环境搭建

2013-02-18 00:34  吴秦  阅读(14492)  评论(3编辑  收藏  举报

基于AIR Android应用开发

——环境搭建

1.  AIR SDK之于Android

AIR SDK是一组打包和部署AIR应用程序的工具。它与工具捆绑,所以无需额外的安装。工具负责访问这些文件,不需要有你进行任何管理。AIR SDK有下面这些组件构成。

clip_image002

0AIR SDK组件图

n  AIR Develop ToolADT

AIR使用Java编写的多用途工具。它需要Java 1.5或更高的版本才能运行,用于Android设备打包AIR应用程序。它根据指定的目标来创建不同的包:

l  apk用于发布

l  apk-emulator用于模拟器

l  apk-debug用于在本地或者在设备上调试

ADT创建自由签名的数字代码证书,用于签署应用程序,通过一个选项来延长有效期,以遵循Android规范。它能在Android设备上安装、卸载和启动应用程序。ADT工具的名称是adtadt.bat,位于bin件夹。adt.jar是由adtadt.bat调用的可执行文件位于lib文件夹。

n  AIR Debug LauncherADL

ADL用于在开发期间测试AIR应用程序,而无需对他进行打包。它使用SDK包含的运行时,并能打印跟踪语句和运行时错误。还可用于启动Flash DebuggerFDB)会话。ADL工具名为adladl.exe,位于bin文件夹中。

n  AIR runtimeAIR运行时)

在将应用程序安装到设备之前,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的版本信息。出现类似下面的画面表示安装成功了:

clip_image003

1:验证JDK安装是否成功

2.2.      AIR SDK

一般Flex SDK中已经包含了AIR SDK,可以去Adobe或者Apache Flex网站下载。解压到你喜欢的路径即可,然后在相应的开发工具Flash BuilderFlash Develop中设置SDK即可。也可以单独下载AIR SDK,然后解压到Flex SDK目录里面。

如果你使用Flash Builder开发,SDK都已经随着Flash Builder按照好了,直接使用即可;如果你使用Flash Develop开发,可以参考走在网页游戏开发的路上(一)介绍的方法设置。

3.  开发工具及步骤

下面介绍使用Flash BuilderFlash Develop2个开发工具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  单击完成

clip_image005

2:应用程序描述-手机设置

clip_image007

3:构建路径设置

根据上面设置的应用程序描述,会自动生成一个XML文件,它在打包时与.swf文件捆绑,这个文件可以手动修改。应用程序描述包含屏幕方向,权限设置等等,我们例子中生成的描述文件为——HelloWorld-app.xml,你可以打开查看下里面有哪些设置。

在桌面上测试程序

将应用程序安装到设备之前,应该先在桌面上运行一下,以防其中包含语法错误等。

将应用程序打包成apk文件并安装到设备

为了在Flash Builder中将应用程序打包成APK文件并安装到Android设置上,请按以下步骤操作。

n  右键项目文件夹,然后从弹出的快捷键菜单中选择属性

n  选择“ActionScript构建打包”-->“Google Android”—>“数字签名”-->“证书。如果已经有AIR代码签名证书,浏览选择即可;否则创建一个临时证书,填写相应选项即可。

clip_image009

4:选择数字签名-证书

clip_image010

5:创建数字证书

n  返回“运行配置”。在启动方法下选择在设备上,单击运行。这个时候会创建一个APK文件,可以在项目中看到它。APK文件会安装到设备上,随后设备启动应用程序。

测试和调试

Adobe远程调试会话支持USB推荐)或Wi-Fi,这正是之前设置Internet权限的原因。使用Wi-Fi,要打开一定设置的Wi-Fi,并且在Windows中,要设置防火墙来打开7935端口。

clip_image012

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会自动为我们生成很多设置文件。

clip_image013

7Flash Develop Android项目结构

应用程序描述文件

application.xml是自动生成的应用程序描述文件,可以手动修改xml文件;也可以通过“项目”-->”AIR项目属性进行设置。

clip_image015

7:修改Initial Window描述部分

clip_image017

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();

              }

      

       }

打包安装到手机上面效果如下图:

clip_image019

9Hello World效果图(比较丑-_-sorry!)

注意:如果使用的调试版本,可能会有下面这个提示,输入电脑的ip会连接上调试,不输入直接取消不影响功能。

clip_image021

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应用开发2ANDROID运行AIR程序原理