Friday, July 23, 2010
CS5 から拡張機能(Extension)を Flex を使って実装できるようになりました。
また作成した拡張機能をパッケージしてひとつの zxp ファイルにして配布可能になりました。
ユーザは単に zxpファイルを入手してダブルクリックするだけで拡張機能をインストールできます。
拡張機能の詳しい内容は Adobe Creative Suie 5 SDK をご覧ください。
通常、拡張機能を作成したりその配布パッケージを作成するのは Adobe Creative Suite 5 Extension Builder を使用するようです。
開発・デバッグ・配布がこのツール内で作業できるので、とても楽(なよう)です。
ただし、 Adobe Creative Suite 5 Extension Builder は、 Adobe Solution Partner Program や Adobe Enterprise Developer Program 契約していないと入手・使用ができないようです。
このエントリでは、 Adobe Creative Suite 5 Extension Builder を使用しないで、配布用パッケージを作成する手順についてのメモです。
以下を準備しておきます。
配布用パッケージの作成には ucf.jar が必要です。
ucf.jar は Packaging and Signing Toolkit から入手できます。
main.mxml を開発しておきます。
<?xml version="1.0" encoding="UTF-8"?>
<ExtensionManifest Version="2.0" ExtensionBundleId="jp.osima.hello" ExtensionBundleVersion="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ExtensionList>
<Extension Id="jp.osima.hello.extension" Version="1.0" />
</ExtensionList>
<ExecutionEnvironment>
<HostList>
<Host Name="IDSN" Version="7" />
</HostList>
<LocaleList>
<Locale Code="All" />
</LocaleList>
<RequiredRuntimeList>
<RequiredRuntime Name="CSXS" Version="2.0" />
</RequiredRuntimeList>
</ExecutionEnvironment>
<DispatchInfoList>
<Extension Id="jp.osima.hello.extension">
<DispatchInfo >
<Resources>
<SwfPath>./main.swf</SwfPath>
<!--
<ScriptPath>./foo.jsx</ScriptPath>
-->
</Resources>
<Lifecycle>
<AutoVisible>true</AutoVisible>
</Lifecycle>
<UI>
<Type>Panel</Type>
<Menu>Hello</Menu>
<Geometry>
<Size>
<Height>200</Height>
<Width>200</Width>
</Size>
</Geometry>
</UI>
</DispatchInfo>
</Extension>
</DispatchInfoList>
</ExtensionManifest>
$ mxmlc \
--show-actionscript-warnings=true --strict=true \
+configname=air \
-include-libraries \
$CS_SDK_HOME/libs/CSXSLibrary-2.0-sdk-3.4-public.swc \
$CS_SDK_HOME/libs/csawlib.swc \
-external-library-path \
$CS_SDK_HOME/libs/apedelta.swc \
-output main.swf
-- main.mxml
CS5 Extension(ここではmain.swf)をパッケージするには、workspace ディレクトリ内に関連ファイルを次のように配置する必要があります。
test.pfx というファイル名でパスワード hogehoge にて署名を作成。
$ adt -certificate -cn wakumaker 1024-RSA test.pfx hogehoge
$ java -jar ucf.jar -package -storetype PKCS12 -keystore test.pfx -storepass hogehoge \
hello.zxp -C workspace .
成功すれば hello.zxp が生成されるので、ダブルクリックして拡張機能がインストールできるか確認します。