移动AIR应用程序发布于调试

[size=large][b]移动AIR应用程序发布于调试[/b][/size]
—ADT的应用

AIR Developer Tool (ADT) 是用于开发 AIR 应用程序的多用途命令行工具。
今天和大家一起学习一下如何使用ADT进行AIR移动应用程序的打包发布。

[size=medium][b]一、发布[/b][/size]

下边我们按照实例一步步学习ADT的使用流程;

首先我建立一个手机项目,并在主类里面写入如下代码:
package testAdt {
import flash.desktop.SystemIdleMode;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.system.Capabilities;
import flash.text.TextField;

public class testAdt extends Sprite
{
private var i:int=0;
public function testAdt()
{
var tfd:TextField=new TextField();
tfd.width=200;
tfd.text=Capabilities.os;
this.addChild(tfd);

var button:Sprite=creatRect(100, 80, 0x00ff00);

this.addChild(button);
button.x=100;
button.y=100;

button.addEventListener(MouseEvent.CLICK, onClickHandler);
}

private function onClickHandler(event : MouseEvent) : void {
i++;
trace("flash trace_"+i);
}

private function creatRect(w:int,h:int,color:uint):Sprite
{
var sp:Sprite=new Sprite();
sp.graphics.beginFill(color);
sp.graphics.drawRect(0,0,w,h);
sp.graphics.endFill();
return sp;
}
}
}


程序很简单就加了一个文本框和一个大绿色按钮,文本框是用来显示当前设备系统版本的,按钮被点击的话会输出相应字符。Debug 运行一下如下;
[img]http://dl2.iteye.com/upload/attachment/0085/8919/de6c632e-0842-3e32-860a-814c79a9f71a.jpg[/img]

好程序没有问题,接下来我们看看如何用ADT把它打包成一个ipa安装包。

[b]1、配置环境变量[/b]
ADT 是一个 Java 程序,它包含在AIR SDK中。必须具有 Java 1.5 或更高版本才能使用该程序。SDK 包括用于调用 ADT 的脚本文件。我们为了方便使用先来配置一下环境变量;
[img]http://dl2.iteye.com/upload/attachment/0085/8921/9b60cd3a-a288-3cac-9769-bf06f18cfb5f.png[/img]

你可以打命令行下输入adt测试一下,若输出如下,说明配置正确。
[img]http://dl2.iteye.com/upload/attachment/0085/8923/408c73bc-6e5f-37a3-b289-9a21da42d99c.png[/img]

[b]2、编译打包[/b]
在命令行下cd到我们的工程的bin目录下,目前bin目录有三个文件;
[img]http://dl2.iteye.com/upload/attachment/0085/8925/3f29d570-9c31-3b99-8954-476a05ebb44c.png[/img]

然后在命令行中输入如下指令;
[color=red]adt -package -target[/color] ipa-test [color=red]-storetype [/color]pkcs12 [color=red]-keystore [/color]..\..\certificate\p12.p12 [color=red]-storepass [/color]1234 [color=red]-provisioning[/color]-profile ..\..\certificate\ mobileprovision.mobileprovision myAppName.ipa testAdt-app.xml testAdt.swf ./icons
其中红色部分为命令名,其后紧跟的为参数;

各个指令的说明;
[b]-package [/b] 表示打包一样程序的操作。
[b]-target[/b] 表示设置发布目标版本。此处设置为ipa-test版。
下边列出了可供我们选择的版本;

 ipa-ad-hoc — 用于临时分发的 iOS 包。
 ipa-app-store — 用于 Apple 应用程序库分发的 iOS 包。
 ipa-debug — 带有额外调试信息的 iOS 包。(应用程序中的 SWF 文件也必须在具有调试支持的情况下进行编译。)
 ipa-test — 在不具有优化或调试信息的情况下编译的 iOS 包。
 ipa-debug-interpreter — 在功能上等同于调试包,但编译速度更快。不过,它会解释 ActionScript 字节代码,但不会将其转换为机器代码。因此,解释程序包中的代码执行速度较慢。
 ipa-debug-interpreter-simulator — 功能与 ipa-debug-interpreter 相同,但是针对 iOS simulator 打包。仅限 Macintosh。如果使用此选项,还必须包括 -platformsdk 选项,指定 iOS Simulator SDK 的路径。
 ipa-test-interpreter — 在功能上等同于测试包,但编译速度更快。不过,它会解释 ActionScript 字节代码,但不会将其转换为机器代码。因此,解释程序包中的代码执行速度较慢。
 ipa-test-interpreter-simulator — 功能与 ipa-test-interpreter 相同,但是针对 iOS simulator 打包。仅限 Macintosh。如果使用此选项,还必须包括 -platformsdk 选项,指定 iOS Simulator SDK 的路径。
(注:FlashBuilder的默认打包方式是ipa-app-store,打包速度相对较慢)

[b]-storetype[/b] 设置证书类型。(此处为pkcs12)
[b]-keystore[/b] 设置数字证书。(包括路径,此处为..\certificate\p12.p12)
[b]-storepass [/b]设置证书密码(1234)
[b]-provisioning-profile[/b] 设置授权文件(包括路径,此处为..\certificate\ mobileprovision.mobileprovision)

后边是我们要生产的ipa文件名(myAppName.ipa)及需要的配置文件(testAdt-app.xml)和资源(testAdt.swf ./icons)。

确认输入无误之后敲回车,经过大概30秒的等待你会在bin目录下看到输出的文件
[img]http://dl2.iteye.com/upload/attachment/0085/8930/7c61f50e-4ebb-3b54-a97e-f5a7a2482e43.png[/img]

[b]3、安装[/b]
我们可以通过ADT的-installApp命令将ipa包安装至我们的移动设备,不过你需求确认你已经安装了ituns。将ipad由USB链接至电脑,链接成功之后打开一个命令行窗口。编辑进入bin目录,输入
adt -installApp -platform ios -package myAppName.ipa
回车,几秒钟后会发现应用已经装在了ipad上。


[b][size=medium]二、 调试[/size][/b]
这里的调试,指的是我们用FDB进行远程调试。
我们需要改一下打包命令;
1. 从新打包adt -package -target [color=red]ipa-debug [/color]-[color=red]listen 16000[/color] -storetype pkcs12 -keystore ..\..\certificate\p12.p12 -storepass 1234 -provisioning-profile ..\..\certificate\ mobileprovision.mobileprovision myAppName.ipa testAdt-app.xml testAdt.swf ./icons

 将目标版本改为ipa-debug。
 加入-listen指令,意思为设置连接pc的端口为16000(端口可自行定义,默认为7936)

2. 将程序安装入ipad(注意在用adt进行安装的时候需要先将早期版本删除,否则会安装失败)

3. 使用 idb devices指令确认设备信息。
idb 位于yourSDK/lib/aot/bin/iOSBin/idb 中。我们可以先跳转至idb所在目录然后键入idb –devices。
[img]http://dl2.iteye.com/upload/attachment/0085/8940/1f68d3cd-c260-377c-9e65-c04480bac6ed.jpg[/img]

4. 使用 IDB 实用工具以及前面步骤中找到的设备 ID,将桌面计算机上的端口转发到 adt listen 参数中指定的端口
[img]http://dl2.iteye.com/upload/attachment/0085/8942/fb689b55-a297-3cc6-bab0-e43ca945eed0.jpg[/img]

在此示例中,7936 是桌面计算机端口,16000 是连接设备侦听到的端口,1 是连接设备的设备 ID
5. 从新打开一个命令行窗口键入fdb -p 7936 敲回车,然后键入run。
[img]http://dl2.iteye.com/upload/attachment/0085/8944/ea643d6a-10c0-3139-b3dc-120dfdf7a32c.jpg[/img]

6. 从ipad上打开应用,你会看到已连接的字样。
[img]http://dl2.iteye.com/upload/attachment/0085/8946/acbd7138-c390-31a5-889f-b7e0cd288c37.png[/img]

7. 输入continue开始测试。
起初我们应用程序里有一个绿色按钮,现在我们对按钮点击看会发生什么。
[img]http://dl2.iteye.com/upload/attachment/0085/8948/7e9da9dc-0523-3ed8-99ec-c102ae9a7cdf.png[/img]
命令行窗口中输入了相应的日志。
今天的分享就到这里,如有错误的地方大家仅可批评指出。更多功能大家可以阅读Adobe的官方文档。

作者:王闯
email :wangchuang1113@163.com;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值