—ADT的应用
AIR Developer Tool (ADT) 是用于开发 AIR 应用程序的多用途命令行工具。
今天和大家一起学习一下如何使用ADT进行AIR移动应用程序的打包发布。
一、发布
下边我们按照实例一步步学习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 运行一下如下;
好程序没有问题,接下来我们看看如何用ADT把它打包成一个ipa安装包。
1、配置环境变量
ADT 是一个 Java 程序,它包含在AIR SDK中。必须具有 Java 1.5 或更高版本才能使用该程序。SDK 包括用于调用 ADT 的脚本文件。我们为了方便使用先来配置一下环境变量;
你可以打命令行下输入adt测试一下,若输出如下,说明配置正确。
2、编译打包
在命令行下cd到我们的工程的bin目录下,目前bin目录有三个文件;
然后在命令行中输入如下指令;
adt -package -target ipa-test -storetype pkcs12 -keystore ..\..\certificate\p12.p12 -storepass 1234 -provisioning-profile ..\..\certificate\ mobileprovision.mobileprovision myAppName.ipa testAdt-app.xml testAdt.swf ./icons
其中红色部分为命令名,其后紧跟的为参数;
各个指令的说明;
-package 表示打包一样程序的操作。
-target 表示设置发布目标版本。此处设置为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,打包速度相对较慢)
-storetype 设置证书类型。(此处为pkcs12)
-keystore 设置数字证书。(包括路径,此处为..\certificate\p12.p12)
-storepass 设置证书密码(1234)
-provisioning-profile 设置授权文件(包括路径,此处为..\certificate\ mobileprovision.mobileprovision)
后边是我们要生产的ipa文件名(myAppName.ipa)及需要的配置文件(testAdt-app.xml)和资源(testAdt.swf ./icons)。
确认输入无误之后敲回车,经过大概30秒的等待你会在bin目录下看到输出的文件
3、安装
我们可以通过ADT的-installApp命令将ipa包安装至我们的移动设备,不过你需求确认你已经安装了ituns。将ipad由USB链接至电脑,链接成功之后打开一个命令行窗口。编辑进入bin目录,输入
adt -installApp -platform ios -package myAppName.ipa
回车,几秒钟后会发现应用已经装在了ipad上。
二、 调试
这里的调试,指的是我们用FDB进行远程调试。
我们需要改一下打包命令;
1. 从新打包adt -package -target ipa-debug - listen 16000 -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。
4. 使用 IDB 实用工具以及前面步骤中找到的设备 ID,将桌面计算机上的端口转发到 adt listen 参数中指定的端口
在此示例中,7936 是桌面计算机端口,16000 是连接设备侦听到的端口,1 是连接设备的设备 ID
5. 从新打开一个命令行窗口键入fdb -p 7936 敲回车,然后键入run。
6. 从ipad上打开应用,你会看到已连接的字样。
7. 输入continue开始测试。
起初我们应用程序里有一个绿色按钮,现在我们对按钮点击看会发生什么。
命令行窗口中输入了相应的日志。
今天的分享就到这里,如有错误的地方大家仅可批评指出。更多功能大家可以阅读Adobe的官方文档。
作者:王闯
email :[email protected];