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

简介:




本文转自吴秦博客园博客,原文链接:http://www.cnblogs.com/skynet/archive/2013/02/18/2915083.html,如需转载请自行联系原作者基于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

相关文章
|
3月前
|
存储 XML 开发工具
探索安卓应用开发:从基础到进阶
在这篇文章中,我们将一起踏上安卓应用开发的旅程。不论你是编程新手还是希望提升技能的开发者,这里都有你需要的东西。我们会从最基础的概念开始,逐步深入到更复杂的主题。文章将涵盖开发环境设置、用户界面设计、数据处理以及性能优化等方面。通过理论与实践的结合,你将能够构建出既美观又高效的安卓应用。让我们一起开启这段技术之旅吧!
|
3月前
|
Android开发 Swift iOS开发
深入探索iOS与Android操作系统的架构差异及其对应用开发的影响
在当今数字化时代,移动设备已经成为我们日常生活和工作不可或缺的一部分。其中,iOS和Android作为全球最流行的两大移动操作系统,各自拥有独特的系统架构和设计理念。本文将深入探讨iOS与Android的系统架构差异,并分析这些差异如何影响应用开发者的开发策略和用户体验设计。通过对两者的比较,我们可以更好地理解它们各自的优势和局限性,从而为开发者提供有价值的见解,帮助他们在这两个平台上开发出更高效、更符合用户需求的应用。
|
4月前
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
107 3
|
4月前
|
存储 Android开发 开发者
深入理解安卓应用开发的核心组件
【10月更文挑战第8天】探索Android应用开发的精髓,本文带你了解安卓核心组件的奥秘,包括Activity、Service、BroadcastReceiver和ContentProvider。我们将通过代码示例,揭示这些组件如何协同工作,构建出功能强大且响应迅速的应用程序。无论你是初学者还是资深开发者,这篇文章都将为你提供新的视角和深度知识。
|
4月前
|
数据可视化 Android开发 开发者
安卓应用开发中的自定义View组件
【10月更文挑战第5天】在安卓应用开发中,自定义View组件是提升用户交互体验的利器。本篇将深入探讨如何从零开始创建自定义View,包括设计理念、实现步骤以及性能优化技巧,帮助开发者打造流畅且富有创意的用户界面。
150 0
|
2月前
|
搜索推荐 Android开发 开发者
安卓应用开发中的自定义控件实践
在安卓应用开发的广阔天地中,自定义控件如同璀璨的星辰,点亮了用户界面设计的夜空。它们不仅丰富了交互体验,更赋予了应用独特的个性。本文将带你领略自定义控件的魅力,从基础概念到实际应用,一步步揭示其背后的原理与技术细节。我们将通过一个简单的例子——打造一个具有独特动画效果的按钮,来展现自定义控件的强大功能和灵活性。无论你是初学者还是资深开发者,这篇文章都将为你打开一扇通往更高阶UI设计的大门。
|
3月前
|
缓存 监控 前端开发
探索Android应用开发之旅:从新手到专家
【10月更文挑战第42天】本文将带你踏上Android应用开发的旅程,无论你是初学者还是有经验的开发者。我们将一起探索如何从零开始创建你的第一个Android应用,并逐步深入到更高级的主题,如自定义视图、网络编程和性能优化。通过实际示例和清晰的解释,你将学会如何构建高效、吸引人的Android应用。让我们一起开启这段激动人心的旅程吧!
|
3月前
|
开发框架 前端开发 Android开发
探索安卓和iOS应用开发中的跨平台解决方案
【10月更文挑战第42天】在移动应用开发的广阔天地中,安卓和iOS系统如同两座巍峨的山峰,分别占据着半壁江山。开发者们在这两座山峰之间穿梭,努力寻找一种既能节省资源又能提高效率的跨平台开发方案。本文将带你走进跨平台开发的世界,探讨各种解决方案的优势与局限,并分享一些实用的代码示例,助你在应用开发的道路上更加游刃有余。
|
3月前
|
搜索推荐 前端开发 Android开发
安卓应用开发中的自定义视图实现
【10月更文挑战第30天】在安卓开发的海洋中,自定义视图是那抹不可或缺的亮色,它为应用界面的个性化和交互体验的提升提供了无限可能。本文将深入探讨如何在安卓平台创建自定义视图,并展示如何通过代码实现这一过程。我们将从基础出发,逐步引导你理解自定义视图的核心概念,然后通过一个实际的代码示例,详细讲解如何将理论应用于实践,最终实现一个美观且具有良好用户体验的自定义控件。无论你是想提高自己的开发技能,还是仅仅出于对安卓开发的兴趣,这篇文章都将为你提供价值。
|
3月前
|
传感器 XML IDE
探索安卓应用开发:从基础到进阶
【10月更文挑战第23天】在数字化时代的浪潮中,移动应用已成为人们日常生活的延伸。本文以安卓平台为例,深入浅出地介绍了如何从零开始构建一个安卓应用,涵盖了开发环境搭建、基本组件使用、界面设计原则以及进阶技巧等关键步骤。通过实例演示和代码片段,引导读者逐步掌握安卓应用开发的核心技能,旨在激发更多开发者对安卓平台的探索热情,并为初学者提供一条清晰的学习路径。

热门文章

最新文章

  • 1
    如何修复 Android 和 Windows 不支持视频编解码器的问题?
  • 2
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
  • 4
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 5
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
  • 6
    【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 7
    Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 9
    android studio 学习之一
  • 10
    安卓逆向系列教程 4.1 字符串资源
  • 1
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
    48
  • 2
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    27
  • 3
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
    68
  • 4
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    86
  • 5
    Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
    29
  • 6
    如何修复 Android 和 Windows 不支持视频编解码器的问题?
    225
  • 7
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
    57
  • 8
    【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    35
  • 9
    【03】优雅草央千澈详解关于APP签名以及分发-上架完整流程-第三篇安卓APP上架华为商店后面的步骤-华为应用商店相对比较麻烦一些-华为商店安卓上架
    52
  • 10
    app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
    79