Tag { ANT } 一覧

[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>

FDT 操作一発で “swfコンパイル”>”FTP”>”Firefoxでリロード表示”する方法

Category:{ FDT }  Tag:{, } Comments:{ No Comments }
Posted:{ 2010.05.29 04:11:41 }

FDTのANTを使用し操作一発で下記を実行する設定方法です!(・∀・)
・swfコンパイル
・FTPアップロード
・Firefoxで更新(リロード)表示

こちらのサイトを参考にさせて頂きました。
My workflow with ANT and FDT | base42.nl
スゴク良く出来たANTファイルがあるのでダウンロードおすすめします!
※それを見ながらこのエントリをみるとよりよくわかるかと。

[環境:MacOS10.6 / FDT4 Milestone2]

コンパイルする

これは普通に”fdt.launch.application”タスクで設定します。
以前のエントリーを参考下さい。
R o m a t i c A : Blog : Archive » FDTでANTを使って色々な処理を自動化!

FTPアップロードする

[1] JARを設定

FTPを機能させるためにまず、下記サイトからjarファイルをダウンロード。(2ファイル)
Rumbling BlogFDT, ANT and FTP
その2ファイルを、下記ディレクトリに設置。
/Applications/FDT***/plugins/org.apache.ant_***/bin/

[2] JARにパスを通す

FDTから、その2ファイルにパスを通します。
“Preferences” > “ANT” > “Runtime” > “Classpath” を開き”Add External JARs”で
さきほどのjarを選択し追加。
・commons-net-2.0/commons-net-2.0.jar
・jakarta-oro-2.0.8/jakarta-oro-2.0.8.jar

これでFTPが動作する環境が整いました!。

[3] FTPのANT記述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
	<ftp server="FTPホストアドレス"
		port="21"
		userid="FTP User Name"
		remotedir="/"
		password="FTP Password"
		depends="no" 
		passive="yes" 	
		binary="yes"
		verbose="yes"
		>
		<!--deployフォルダ以下すべてアップロード-->
		<fileset dir="${deploy.dir}" />
		<!--deployフォルダ以下にある全てのswfファイルをアップロード
		<fileset dir="${deploy.dir}" >
			<include name="*.swf" />
		</fileset>
		-->
	</ftp>

一部ftpプロパティの説明です。
remotedir:アップロード先ディレクトリ
depends : “yes”にすると、タイムスタンプが新しいファイルだけ転送する。
verbose : “yes”に設定された場合、 ファイルが転送される毎に情報を表示します。 デフォルトは”no”です。
その他のプロパティは下記サイトの下部に日本語説明があります。
Apache Ant User Manual FTP
※これみると他にも色々できそうですね!

これでANTでFTP出来るようになりました!(・∀・)

FireFoxを開き、リロードする

ANTから”fresno”を実行することで”MozRepl”を動作させ、FireFoxをリロードさせます。

[1] FireFox機能拡張”MozRepl”をインストール

Home – mozrepl – GitHub (コンソールを使ってFirefoxを操作する機能拡張だそうです)
・MozRepl 1.0 – release
・MozRepl – development branch

FireFox再起動後 “ツール” > “MozRepl” > “Start”で、スタートさせておく

[2] “Fresno”をダウンロード

下記からSVNで”Fresno”をダウンロード
Fresno – SIMILE(FireFox機能拡張を実行する、コマンドライン?のようです)
※冒頭のURLからDLしたfresnoは上手く動作しなかったので、上記SVNからダウンロードをおすすめします。

ダウンロード後、プロジェクト内の任意の位置に置く。
ex) ./ant/builders/tools/fresno

[3] ANTからFresnoを実行

1
2
3
4
5
6
	<exec executable="open">
		<arg line="-a Firefox" />
	</exec>
	<exec executable="${basedir}/ant/builders/tools/fresno">
		<arg line="-j 'content.location.reload()'" />
	</exec>

これでFireFoxがリロードされる設定が出来ました!(・∀・)

FirefoxにFlashTracerをいれておけば、そのままトレースも確認できますね。
設定するまではちょっと面倒だけど、
一度ベースを設定してしまえば、スゴクラク!

追記

(追記 2010.8.1)—————–
このエントリを元に東京てら子6で発表しました。
その内容はこちらです。
東京てらこ6「SWF最適化・制作効率アップ術」で発表した内容

(追記 2010.5.31) —————-
<fdt.browse url=”url”>でもブラウザを開けますが、ブラウザ指定方法がわからず。。
また、fdt.browseだと実行の度に新規でウィンドウが開いてしまいます。
同ウィンドウで開く方法があったらオシエテだれか( ´д`; )

(追記 2010.5.31)—————-
<fdt.starDebugger>を使えばブラウザで開いたswfもFDT内Consoleでトレース確認ができます!
thx @cellfusion

[FDT4 Milestone2] Progressionプロジェクトテンプレート作りました。

Category:{ FDT, Progression }  Tag:{, , } Comments:{ No Comments }
Posted:{ 2010.05.13 10:11:39 }

FDT4 milestone2 Progression

個人的に最強のFlash制作環境”FDT”。
先日、最新β版”FDT4 Milestone2“がリリースされました!。
(ダウンロードはこちらから、30日間無料で使用できます。[win/mac])

“Project Template” 機能!

いくつか新機能が追加されていますが、そのうちの一つ”Project Template”について。

これつまりは「プロジェクトのディレクトリ構造」のテンプレート。
デフォルトでいくつか用意されていますが、自作もできます。

ということで、みんな大好きProgressionのテンプレートを作りました(・∀・) 。
ANTを使用して「デバッグ/リリースビルド」を書き出しわける機能も付いています!。
(追記 2010.05.28)デバッグリリースビルドを修正したバージョンに置き換えました。
詳細はこのエントリーを御覧下さい

Downlaodは下記ボタンから。

(続きを読む…)

FDTでANTを使って色々な処理を自動化!

Category:{ actionscript, FDT, flash }  Tag:{, } Comments:{ 4 Comments }
Posted:{ 2010.04.25 06:53:09 }

FDT_ATN_Image

FDTが徐々に手慣れてきて、Flashでコーディングしていた頃に比べ、
開発時間が2〜3割減。
といったところのitozです。

まだまだ使いこなせていないので「こんな機能あったんだ!」とステキ機能に出逢う事がありますが、
今日はそのうちの一つANTについて

(続きを読む…)


レンタルサーバー豆知識