Tag { ANT } 一覧

[AIR][iOS] AIR3.3 を FDT5 で試す (4) -iOS USBデバッグ編

Category:{ AIR, iOS }  Tag:{, , } Comments:{ No Comments }
Posted:{ 2012.06.26 03:09:52 }

前回からひきつづき、AIR3.3 新機能を試します。

AIR3.3の新機能 「iOS USBデバッグ」です。
これは簡単に言うと、USB接続されたiOSアプリのtraceをPC側で表示する機能です。
FDT本家サイトに解説がありました。
※本家通りの手順だとなぜかうまくいかなかったので、少し内容が違う部分があります。

[1] ipaの書き出し

アプリがどのポート番号宛にtraceを送信するか?を指定して、書き出します。
それには、-listenオプションとそれにつづけてローカルポート番号を指定して、ipaを書き出します。

ex)

<property name="PROJ_NAME" value="YourProjectName">
<property name="LOCAL_PORT" value="7935">
<property name="REMOTE_PORT" value="7935">
 
<target name=”01. package for usb debug”>
<fdt.loadProjectProperties projectname="${PROJ_NAME}" />
<exec executable=”${FDTProjectSdkPath}/bin/adt” failonerror=”true” dir=”../bin”>
<arg value=”-package” />
<arg value=”-target” />
<arg value=”ipa-debug-interpreter” />
<arg value=”-listen” />
<arg value=”${LOCAL_PORT}/>
<arg value=”-provisioning-profile” />
<arg value=”../cert/********.mobileprovision” />
<arg value=”-storetype” />
<arg value=”pkcs12″ />
<arg value=”-keystore” />
<arg value=”../cert/********.p12″ />
<arg value=”-storepass” />
<arg value=”${PASS}/>
<arg value=”${PROJ_NAME}.ipa” />
<arg value=”${PROJ_NAME}-app.xml” />
<arg value=”${PROJ_NAME}.swf” />
</exec>
</target>

[2] デバイスハンドルを調べる

iOS端末をUSB接続するたび?にデバイスハンドルというID?のようなものが割り振られるようです。それを調べるにはFlexSDKの idb -devicesオプションを利用します

ex)

<target name=”02. show connected devices”>
<fdt.loadProjectProperties projectname=”${PROJ_NAME}/>
<exec executable=”${FDTProjectSdkPath}/lib/aot/idb/idb”>
<arg value=”-devices” />
</exec>
</target>

これを実行すると下記のような結果が得られます。

[exec] List of attached devices
[exec] Handle    UUID
[exec]     4      b47b4c4fe1a664e923f6fa3df90b20f1a8r45cdc
[exec] Result: 1
BUILD SUCCESSFUL
Total time: 1 second

この「4」という部分 (iOS端末接続のたびに違う) にあたる数字を覚えておきます。

[3] アプリを起動する

[1]で書きだしたアプリを、XcodeのOrganizerやiTuneなどを利用してiOS端末にインストールし、起動します。起動するとAIRの接続待機を示すポップアップアラートが表示されます。

[4] デバッガを起動

[3]のアラートが表示されている状態で、デバッガを起動します。

<target name="04. start FDT debugger for usb debug">
    <fdt.loadProjectProperties projectname="${PROJ_NAME}" />
    <fdt.startDebugger projectname="${PROJ_NAME}" port="${LOCAL_PORT}" asclient="true" />
</target>

[5] USBデバッグを開始する

idb の -foword で
・ローカルポート
・リモートポート
・[2]で取得しておいたデバイスハンドル
を渡して実行します。

<target name="05. forward ports for USB debug">
    <fdt.loadProjectProperties projectname="${PROJ_NAME}" />
    <exec executable="${FDTProjectSdkPath}/lib/aot/idb/idb">
        <arg value="-forward" />
        <arg value="${LOCAL_PORT}" />
        <arg value="${REMOTE_PORT}" />
        <arg value="4" />
    </exec>
</target>

これで iOS AIR アプリ の trace が、FDTのコンソールに出力されます。

まとめ

以上全体をまとめたANTは下記に置きました。
FDT5.5 で AIR3.3 iOS USBデバッグするためのANTテンプレート #ant #iOS #AIR – Qiita

参考

AIR 3.3 Beta – USB debugging for AIR iOS « AKABANA

[AIR][FDT][Ant] DesktopAIR用のFDT Antテンプレート

Category:{ AIR, FDT }  Tag:{, , } Comments:{ No Comments }
Posted:{ 2012.05.09 04:54:29 }

なんかいつも、同じようなのを一から作ってるので、テンプレとして自分コピペ用。

<?xml version="1.0" encoding="UTF-8"?>
<project name="*****************">
	<!-- 
	////////////////////////////////////////////////////////////////////////
		FDT用、Desktop  AIR パッケージ ANTテンプレート
	////////////////////////////////////////////////////////////////////////
	 -->
	<property name="PROJ_NAME" value="*****************"></property>
	<fdt.loadProjectProperties projectname="${PROJ_NAME}" />
	<!-- swf -->
	<property name="SWF_VER" value="*****************"></property>
	<property name="SWF_NAME" value="*****************"></property>
	<property name="WIDTH" value="*****************"></property>
	<property name="HEIGHT" value="*****************"></property>
	<property name="SWF_PATH" value="${FDTProjectPath}/bin/${SWF_NAME}.swf"></property>
	<!-- as -->
	<property name="MAIN_CLASS"
		value="${FDTProjectPath}/src/*****************.as"></property>
	<!-- output folder -->
	<property name="OUTPUT_FOLDER_PATH"
		value="/*****************/deploy/"></property>
	<!-- discripter -->
	<property name="APP_XML" value="${FDTProjectPath}/bin/*****************-app.xml"></property>
 
	<!-- certificate -->
	<property name="CERT" value="${FDTProjectPath}/cert/*****************.p12"></property>
	<property name="PASS" value="*****************"></property>
 
 
	<!-- //////////////////////////////////////////////////////////////////////// -->
 
	<!-- compiler option -->
	<property name="COMMON_ARGUMENTS" value="-static-link-runtime-shared-libraries=true -target-player=${FDTProjectPlayerVersion} -library-path+='${FDTProjectSdkPath}/frameworks/locale/en_US' -default-size=${WIDTH},${HEIGHT} -swf-version=${SWF_VER}"></property>
	<property name="DEBEG_CONFIG" 	value="-define=CONFIG::Debug,true -define+=CONFIG::Release,false"></property>
	<property name="RELEASE_CONFIG" value="-define=CONFIG::Debug,false -define+=CONFIG::Release,true"></property>
	<property name="RELEASE_ARGUMENTS" value="${COMMON_ARGUMENTS} ${RELEASE_CONFIG}"></property>
	<property name="DEBUG_ARGUMENTS" value="${COMMON_ARGUMENTS} ${DEBEG_CONFIG}"></property>
 
 
  <!-- pacakge debug -->
 
	<target name="[package] debug">
	    <fdt.loadProjectProperties projectname="${PROJ_NAME}" />
	    <antcall target="_[publish] debug"></antcall>
	    <fdt.release.AirApplication projectname="${FDTProject}" 
	    output="${OUTPUT_FOLDER_PATH}/${SWF_NAME}.debug.air" 
	    descriptorpath="${APP_XML}" 
	    certificatepath="${CERT}" 
	    certificatechoosen="1" 
	    certificatestorepassword="${PASS}" 
	    assetfilelist="${SWF_PATH} ; ${SWF_NAME}.swf" />
	</target>
 
  <!-- pacakge release -->
 
	<target name="[package] release">
		<fdt.loadProjectProperties projectname="${PROJ_NAME}" />
	    <antcall target="_[publish] release"></antcall>
	    <fdt.release.AirApplication projectname="${FDTProject}" 
	    output="${OUTPUT_FOLDER_PATH}/${SWF_NAME}.air" 
	    descriptorpath="${APP_XML}" 
	    certificatepath="${CERT}" 
	    certificatechoosen="1" 
	    certificatestorepassword="${PASS}" 
	    assetfilelist="${SWF_PATH} ; ${SWF_NAME}.swf" />
	</target>
 
 
<!-- swf publich release -->
 
	<target name="_[publish] release">
	    <fdt.loadProjectProperties projectname="${PROJ_NAME}" />
	    <fdt.launch.application 
	    projectname="${FDTProject}" 
	    mainclass="${MAIN_CLASS}" 
	    compilerarguments="${RELEASE_ARGUMENTS}" 
	    target="${SWF_PATH}" 
	    debug="false" startswf="true" 
	    swflauncher="AIR Debug Launcher" 
	    swflocation="${SWF_PATH}" 
	    height="${WIDTH}" width="${HEIGHT}" />
	</target>
 
	<!-- swf publich debug -->
 
	<target name="_[publish] debug">
		<fdt.loadProjectProperties projectname="${PROJ_NAME}" />
	    <fdt.launch.application 
	    projectname="${FDTProject}" 
	    mainclass="${MAIN_CLASS}" 
	    compilerarguments="${DEBUG_ARGUMENTS}" 
	    target="${SWF_PATH}" 
	    debug="true" startswf="true" 
	    swflauncher="AIR Debug Launcher" 
	    swflocation="${SWF_PATH}" 
	    height="${WIDTH}" width="${HEIGHT}" />
	</target>
</project>

[AIR][iOS] AIR3.3 Beta を FDT5 で試す (3) -iOSシミュレータ用Antファイル

Category:{ AIR, FDT, iOS }  Tag:{, , , } Comments:{ No Comments }
Posted:{ 2012.05.05 04:25:09 }

前回前々回に引き続き、AIR3.3Betaの新機能iOSシミュレータサポートを試します。

今回は、iOSシミュレータに対して、FDTから「インストール」「実行」「アンインストール」するAntファイルのサンプルです。

下記certificateやappidを設定したあと、
00. [package and launch on simulator] を実行すると、
ipaパッケージからシミュレータで実行までを一発で行います。
再度実行する場合は一度 04. [uninstall] でアンインストールしてください。

<project name="iOS Simulator debug sample" basedir=".">
 
	<fdt.loadProjectProperties />
	<property file="ios.properties" />
 
	<!-- 適宜書き換え-->
	<property name="APP_ID" value="TestiOSSimulator" />
	<property name="iOS_SDK_PATH" value="/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk" />
 
	<target name="00. [package and launch on simulator]">
		<input message="certificate password:" addproperty="certPassword" />
		<antcall target="01. [package]" />
		<fdt.startDebugger switchperspectiveonbreakpoint="true" projectname="TestiOSSimulator" />
		<antcall target="02. [install]" />
		<antcall target="03. [launch]" />
	</target>
 
	<target name="01. [package]">
		<mkdir dir="${publish.dir}" />
		<echo message="Flash Debugger ${FDTHostIP}"></echo>
		<java jar="${FDTProjectSdkPath}/${adt}" fork="true" failonerror="true">
			<arg value="-package" />
			<arg value="-target" />
			<!-- シミュレータ用書き出し 	-->
			<arg value="ipa-debug-interpreter-simulator" />
			<arg value="-connect" />
			<arg value="${FDTHostIP}" />
			<arg value="-provisioning-profile" />
			<arg value="${provisioning.profile}" />
			<arg value="-storetype" />
			<arg value="pkcs12" />
			<arg value="-keystore" />
			<arg value="${certificate}" />
			<arg value="-storepass" />
			<arg value="${certPassword}" />
			<arg value="${publish.dir}/${publish.ipa}" />
			<arg value="${application.descriptor}" />
			<arg value="-C" />
			<arg value="${deploy.dir}/" />
			<arg value="${deploy.swf}" />
			<!-- add more assets here -->
		</java>
	</target>
 
	<target name="02. [install]">
		<java jar="${FDTProjectSdkPath}/${adt}" fork="true" failonerror="true">
			<arg value="-installApp" />
			<arg value="-platform" />
			<arg value="ios" />
			<arg value="-platformsdk" />
			<arg value="${iOS_SDK_PATH}" />
			<arg value="-device" />
			<arg value="ios-simulator" />
			<arg value="-package" />
			<arg value="${publish.dir}/${publish.ipa}" />
		</java>
	</target>
 
	<target name="03. [launch]">
		<java jar="${FDTProjectSdkPath}/${adt}" fork="true" failonerror="true">
			<arg value="-launchApp" />
			<arg value="-platform" />
			<arg value="ios" />
			<arg value="-platformsdk" />
			<arg value="${iOS_SDK_PATH}" />
			<arg value="-device" />
			<arg value="ios-simulator" />
			<arg value="-debuggerPort" />
			<arg value="7935" />
			<arg value="-appid" />
			<arg value="${APP_ID}" />
		</java>
	</target>
 
	<target name="04. [uninstall]">
		<java jar="${FDTProjectSdkPath}/${adt}" fork="true" failonerror="true">
			<arg value="-uninstallApp" />
			<arg value="-platform" />
			<arg value="ios" />
			<arg value="-platformsdk" />
			<arg value="${iOS_SDK_PATH}" />
			<arg value="-device" />
			<arg value="ios-simulator" />
			<arg value="-appid" />
			<arg value="${APP_ID}" />
		</java>
	</target>
</project>

次回は

iOS USBデバッグを試してみたいと思います。

[memo][AIR3] デスクトップ用のAIR Captive Runtime を コンパイルする

Category:{ AIR }  Tag:{, , , } Comments:{ No Comments }
Posted:{ 2011.10.06 09:45:12 }

自分用メモ。
デスクトップ用のAIR Captive Runtime を コンパイルするAnt
※mac

-target bundleがポイント
macだと58Mのappが出来る。(容量でかっ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 <project name="build desktop captive runtime" default="build">
 
        <property name="adt" value="[adtのパス]" />
        <property name="cirtificate" value="[さーてぃふぃけいとパス]" />
        <property name="cirtificate.pass" value="[ぱすわーど]" />
 
        <target name="build">
            <java jar="${adt}" fork="true">
 
                <arg value="-package" />
                <arg value="-storetype" />
                <arg value="pkcs12" />
 
                <arg value="-keystore" />
                <arg value="${cirtificate}" />
 
                <arg value="-storepass" />
                <arg value="${cirtificate.pass}" />
 
                <arg value="-target" />
                <arg value="bundle" />
                <arg value="./deploy" />
                <arg value="./bin/Index-app.xml" />
 
                <arg value="-C" />
                <arg value="./bin" />
                <arg value="Index.swf" />
            </java>
        </target>
    </project>

参考
Adobe AIR * デスクトップコンピューター用のキャプティブランタイムバンドルのパッケージ化

[AIR3][ANE][Android] Android の Notification に通知するANEサンプル

Category:{ AIR, Android, Native Extention }  Tag:{, , , } Comments:{ No Comments }
Posted:{ 2011.10.06 09:33:03 }

leebrimelow.com » Two-Part Tutorial on Android Native Extensions

上記のサイトのチュートリアル動画を参考に、Android の Notification に通知するANEサンプルを作成しました。
フォルダ構成とかもほぼ動画通りになっています。

動画ではshellスクリプトでANEのコンパイルを自動化していますが、
Antで作成してみました。

まだ使い勝手が悪いですが、一応動いたということで、
ファイル一式をアップします。

http://itoz.jp/lab/ane/android/Notifications.zip

コンパイル方法は下記。

1)
build.propertiesに
FLEX_SDK
ANDROID_SDK
のパスを設定します。

2)
実機を接続、もしくはエミュレータを起動します

3)
ターミナルから、cdで解凍したフォルダに移動し、
$ ant
を実行するとbuild.xmlが実行され、
自動でapkがコンパイルされインストールされます

[Android] アプリを上書きインストールするANTファイル

Category:{ AIR, Android }  Tag:{, , , , } Comments:{ No Comments }
Posted:{ 2010.12.07 01:35:08 }

先日、東京てら子でも発表した
AndroidエミュレータにAIRアプリをインストール/アンインストールするANTファイルですが、
インストール部分もうちょっと使い勝手よくする方法わかったよ
という話し。

アンドロイドアプリをインストールする 2つの方法

アンドロイド (エミュレータ含む) にアプリをインストールするには、
[1] ADT (AIR Development Tool) を使う。
[2] ADB (Android Debug Bridge) を使う。
方法があります。(名前がややこしですね)。
※ FLASH CS5 や FLASH Builder Burrito も内部的にはこれらを利用して実機にインストールしている(はず)

ADT は上書きインストールが出来ない(みたい)ので、
一旦アプリをアンインストールしなければならないですが、
ADB は -r オプションを使用する事で、
上書きインストールできます!
。(・∀・)

記述方法など

以前作成した ANT は ADT だったので ADB に変更する記述方法など

ADTを使用した例

<!--sdkのパス や デバイスのid など取得しておいて渡さないといけないのでメンドイ!
上書きも出来ない。-->
<exec executable="${adt}">
	<arg line="-installApp -platform android -platformsdk ${androidSDK} 
			-package ${apk.dir}/${appName} 
			-device ${device.name} " />
</exec>

ADB を使用した場合

<!--アプリのパスを指定するだけでインストール出来る!-rオプションで上書きも!-->
<exec executable="${adb}">
	<arg line="install -r ${apk.dir}/${appName}" />
</exec>

その他

アンドロイド実機を持っていていて、FLASH CS5 や FLASH BUILDER を利用していれば、自動転送してくれるので、特にこんな知識はいりませんが。。

そのうちADBに書きなおしたファイルをアップ予定。

AndroidエミュレータにAIRアプリをインストール/アンインストールするANTファイル

Category:{ AIR }  Tag:{, , , , } Comments:{ No Comments }
Posted:{ 2010.11.21 09:55:45 }

Androidの実機を持っていないので、
エミュレータを使用し、AIRアプリ動作確認をしていたのですが、
ターミナルでインストール/アンインストール、やるのがめんどくせぇ!
と思い、カッとなって半自動で出来るANTを作成しました。

FDT 、Flash Builder 等で利用できます。
※タイトルにはエミュレータとありますが一応実機に対しても動作します。

[追記 2010.11.29] 先日参加した東京てら子10で、「インストール時に-rオプションをつけると上書き出来る」と聞いたので調査中です。

主な機能


・Android 用 AIR アプリのパッケージ化(デバッグ用 / エミュレータ用 / リリース用)
・アプリのインストール(実機 / エミュレータ)
・アプリのアンインストール(実機 / エミュレータ*ちょい問題あり)

※パッケージ化部分は適当に作ったので、問題あるかもしれません。
(問題あればコメント等でご指摘頂けると有難いです)

※アンインストールは、ちょっと使い勝手がわるいです。。
(なにかいい方法しってたらダレか教えて( ´д`; ))

※詳細はコード内コメントを御覧ください。

メリット

実機があれば、Flash や FlashBuilder から直でインストール&デバッグできるので、特に利用価値はないですが、
実機がなく取り急ぎ確認したい時、使えると思います。

実際のコード

一応張っておきます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<?xml version="1.0" encoding="UTF-8"?>
<project name="APK TOOL" >
 
	<!-- ============================================================================================
 
	- Android AIRアプリ (.apk)作成 
	- インストール/アンインストール機能
 
	 [*]部分は必須設定
 
	- [Android SDK]	 http://developer.android.com/sdk/index.html
	- [ADTドキュメント] http://help.adobe.com/ja_JP/air/build/WS5b3ccc516d4fbf351e63e3d118666ade46-7fd9.html
	- [ADBコマンド]	 http://aaabbbkirai.sytes.net/wiki/tech/mobilesite/index.php?android%20SDK%20%A5%B3%A5%DE%A5%F3%A5%C9%C1%E0%BA%EE%20adb
 
	-->
 
	<!--flex sdk 4.5-->
	<property name="flexSDK" value="/Users/macpro/Documents/_dev/flexSDK/flex_sdk_4.5.0.17689/bin" /><!--*パスを設定-->
	<property name="adt" value="${flexSDK}/adt" />
 
	<!--android sdk -->
	<property name="androidSDK" value="/Developer/SDKs/android-sdk" /><!--*パスを設定-->
	<property name="adb" value="${androidSDK}/tools/adb" />
 
	<!--air property-->
	<property name="appName" value="***********.apk" />				<!--*apk name (インストール後のデバイス上のappの名前ではない)-->
	<property name="key" value="***********.p12" />		<!--*認証ファイル-->
	<property name="key.pass" value="*************" />					<!--*password-->
	<property name="store.pass" value="*************" />					<!--*password-->
 
	<property name="app.xml" value="***********-app.xml" />	<!--*アプリケーション記述ファイル-->
	<property name="main.swf" value="***********.swf" />		<!--*main.swf-->
	<property name="icon.dir" value="icons" />						<!--*icon directory-->
 
	<!--directory-->
	<property name="src.dir" value="${basedir}/../src" />			<!--*srcフォルダ-->
	<property name="debug.dir" value="${basedir}/../bin-debug" />	<!--*デバッグフォルダ-->
	<property name="release.dir" value="${basedir}/../bin-release" /><!--*リリースフォルダ-->
	<property name="apk.dir" value="${basedir}/../apk" />			<!--*apkを書きし先-->
	<!-- ============================================================================================
			                                          			                        [ build apk ] 
	-->
 
	<!--emulatorビルド-->
	<target name="[1] Emulator Build (APK)">
		<echo message="[NOW EMULATOR BUILDING ...]"></echo>
		<property name="build.mode" value="apk-emulator" />
		<property name="dir" value="${debug.dir}" />
		<antcall target="Build" />
	</target>
 
	<!--debugビルド-->
	<target name="[2] Debug Build (APK)">
		<echo message="[NOW DEBUG BUILDING ...]"></echo>
		<property name="build.mode" value="apk-debug" />
		<property name="dir" value="${debug.dir}" />
		<antcall target="Build" />
	</target>
 
	<!--releaseビルド-->
	<target name="[3] Relase Build (APK)">
		<echo message="[NOW RELEASE BUILDING ...]"></echo>
		<property name="build.mode" value="apk" />
		<property name="dir" value="${release.dir}" />
		<antcall target="Build" />
	</target>
 
	<target name="Build">
		<exec executable="${adt}">
			<arg line="-package 
						-target ${build.mode}
						-storetype pkcs12 -keystore ${key} -keypass ${key.pass} -storepass ${store.pass}
						${apk.dir}/${appName} 
						${src.dir}/${app.xml}
						-C ${dir}/ ${main.swf}
						-C ${src.dir}/ ${icon.dir}
			" />
		</exec>
	</target>
		<!-- ============================================================================================
				                                          				 [ install ] apkをインストール
	-->
	<target name="[4] Install">
 
		<!--接続されているデバイス名を取得-->
		<antcall target="get device name list"></antcall>
 
		<!--*取得したデバイス名をvalueに設定-->
		<property name="device.name" value="***********" />
 
		<!--インストール-->
		<!--Result: 14  が起こる場合すでにインストール済み。一旦 "[5] Uninstall" タスクでアンインストールして下さい。-->
 
		<echo message="[NOW INSTALLING to ${device.name} ...]"></echo>
 
		<exec executable="${adt}">
			<arg line="-installApp -platform android -platformsdk ${androidSDK} 
						-package ${appName} 
						-device ${device.name} 
			" />
		</exec>
	</target>
 
 
	<!-- ============================================================================================
					                                          			                [ uninstall ] 
	 - 実機の場合、permissionのエラーが発生します。(今のところ手動で消すしかないのかも。。)
	 - エミュレータの場合アンインストール後再起動しないと完全にアンインストールされないようです。
	-->
	<target name="[5] Uninstall">
 
		<!--インストールされているアプリID一覧を取得-->
		<antcall target="get installed app name list"></antcall>
 
		<!--*削除したいアプリIDをvalueに設定-->
		<property name="app.name" value="***********" />
 
		<!--アンインストール-->
		<echo message="[NOW UNINSTALLING ${app.name}...]"></echo>
		<exec executable = "${adb}">
			<arg line="shell rm data/app/${app.name}" />
		</exec>
 
		<!--インストールされているアプリID一覧を再度確認-->
		<antcall target="get installed app name list"></antcall>
	</target>
 
	<!-- ____________________________________________________________________________________________
				                            	    					 [ 接続されているデバイス名を取得 ] 
	 -->
	<target name="get device name list">
		<echo message="[CHECK] device name"></echo>
		<exec executable="${adb}">
			<arg line="devices" />
		</exec>
	</target>
 
	<!-- ____________________________________________________________________________________________
				                            	                 [ インストールされているアプリID一覧を取得 ] 
	 -->
	<target name="get installed app name list">
		<echo message="[CHECK]  installed app list"></echo>
		<exec executable = "${adb}">
			<arg line="shell ls data/app" />
		</exec>
	</target>
	<!-- ____________________________________________________________________________________________
					                            	                 [ HELP ] 
	 -->
	<target name="HELP ADT" >
		<exec executable="${adt}">
			<arg line="-help" />
		</exec>
	</target>
	<target name="HELP ADB" >
		<exec executable="${adb}">
			<arg line="-help" />
		</exec>
	</target>
</project>

[FDT4] ASDocをサクッと書き出すプロジェクトテンプレート

Category:{ FDT }  Tag:{, , , } Comments:{ 2 Comments }
Posted:{ 2010.10.04 09:36:24 }

FDT4ASDocをサクっと書き出せる、プロジェクトテンプレートを作成しました。

※追記2010.11.04 sparkにコミットしました。アップデートなど今後こちらにしていきます。
http://www.libspark.org/wiki/FDT4_ASDocProjectTemplate

[ 確認環境 MacOS 10.6.4 / FDT4 ]

使用方法

1. (macの場合) ダウンロード後、解凍したフォルダを下記ディレクトリに設置。
/User/FDT/projectTemplates/Web/
※追記 FDT4スタンドアロンでインストールした場合は下記のフォルダになっています。(thx Alan)
User / Library / Application Support / FDT / projectTemplates

2. FDTを起動して File > New > New Flash Project を選択し、出てきたウィンドウで「AsDoc Build」を選択。
FDT4 Asdoc Build

3. 出来たプロジェクト内のsrcフォルダに、ASDoc化したいクラス群をコピー。

4. ant/asdoc_build.xmlを開き、6行目あたりで、flex sdkのパスを設定

5. Window > Show View > Ant で Antウィンドウを開き、asdoc_build.xmlをドラッグドロップしダブルクリック!

これでASDocが作成されました!。(・∀・)

※Asdoc作成の場合はJRE設定をしなくてもANT実行が出来ますね。(なぜかはよくわかりませんが)

東京てらこ6「SWF最適化・制作効率アップ術」で発表した内容

Category:{ FDT }  Tag:{, , , , } Comments:{ No Comments }
Posted:{ 2010.07.29 08:41:52 }

2010.7.18 に東京てらこ6「SWF最適化・制作効率アップ術」で発表した内容です。

発表した内容

FDTでANTを使用し、操作一発
1. swfコンパイル
2. FTPアップロード
3. Firefoxでリロード表示”
する方法。
ついでにFirefoxで再生されたswfのトレースもFDT内で確認しちゃう

サンプルデータ

利用方法

詳細はREADMEファイルを御覧ください。
また、このエントリを元に発表しましたのでご参考下さい。

そもそもANTを使用するメリット

自動化によるヒューマンエラーの防止。に尽きるかと思います。
ANTは設定するまでがちょっとメンドく、シンプルなプロジェクトであれば、作成するまでもないかもしれません。
が、少し複雑なプロジェクト構成なら設定する価値があります。

例えばカスタムクラスAを継承した、ドキュメントクラスB,C,D,Eがあったとして、Aを修正しB,C,D,Eから全てswfを書き出し直し、アップしなおし、クライアント確認に出す。等の場合。
これを使用することでミスが起こりにくくなります。
プロジェクトも後半になると、頻繁にこういった作業を行うかと思いますので、最初に作成しておくと、後々楽だったりします。

その他

元エントリにプラスアルファされている内容

<fdt.startDebugger>タスクを利用し、FireFoxで再生されたswfのトレースを、そのままFDTで確認出来るようにしています。

ANTの実行にショートカットを割り当てる!

僕の場合、環境設定 > General > Keysで”Run Last Launched External Toool”に「Command+Shift+Return」を割り当てています。
これにより操作一発で全てを実行できますし、ローカル確認、サーバー確認の切り替えが容易になります。

ANT Basenameタスクでフォルダ名を取得

Category:{ FDT }  Tag:{ } Comments:{ No Comments }
Posted:{ 2010.06.23 10:39:44 }

ANTのマニュアルを見ていてBasenameというタスクがあった。

これを使えば、FDTのProjectフォルダ名を動的に取得出来る。

こんな感じで、ビルドタスクを実行するまえにdependsを実行し取得すればよい。
※<ant call=”Get Project Name”>とすると上手くいかなかった。

ex) ant/build.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!--Project Nameを取得-->
<target name="Get Project Name">
 <basename property="flashproject.name" file="${basedir}/../" />
</target>
 
<!--ビルドターゲット。dependsでプロジェクトフォルダ名を取得-->
<target name="Test Build" depends="Get Project Name">
    <!--取得できたかトレース--> 
    <echo message="${flashproject.name}"></echo>
    <!--コンパイルなど-->
    <fdt.launch.application 
        projectname="${flashproject.name}" 
        <!--以下略-->
    />
</target>

レンタルサーバー豆知識