NNDDをタダでコンパイルしてインストーラを作る
はじめに
Ubuntu 10.10でNNDD v2のインストーラを作ってみます。
NNDDはAdobe Flash Builderを使って作っているので、Flash Builderがあればコンパイルもインストーラ作成も簡単なのですが・・・残念ながらFlash BuilderのLinux版はありません。(あとFlash Builderは結構いい値段します。)
ですが、コンパイラ部分はタダで手に入ります。コンパイラ部分はLinuxでも動きます。なので、タダで手に入る物だけでなんとかNNDDをコンパイルして、インストーラを作ってみましょう。
では、以下のページを参考に、準備をしていきます。
AIR SDKとFLEX SDKではじめてのAIRアプリケーションを作る - Churadesign
Flex SDKとAIR SDKを使えるようにする
Javaを入れておきましょう
Flex SDKとAIR SDKを動かすのにはJavaが必要です。
UbuntuだとパッケージマネージャからOpen JDKがインストールできますが、まあやっぱりSun Javaだよね!ってことで下記ページを参考にJavaをインストールしておきましょう。
Flex SDKとAIR SDK
まず、Flex SDKとAIR SDKをダウンロードします。
- Flex SDKはこちらから、Flex HeloのPreview(4.5.0.17689)、Adobe Flex SDKをダウンロードします。
- AIR SDKはこちらから、Adobe AIR SDK 2.5のLinux用をダウンロードします。
ダウンロードしたら好きな場所に展開し、それぞれのbinにPATHを通します。
.bash_profileを編集するならこんな感じに追加。
export FLEX_HOME='/home/shiraminekeisuke/opt/flexsdk' export AIR_HOME='/home/shiraminekeisuke/opt/airsdk' export PATH=$PATH:$FLEX_HOME/bin:$FLEX_HOME/player/debug export PATH=$PATH:$AIR_HOME/bin
whichコマンドで場所を確認します。
$ which amxmlc /home/shiraminekeisuke/opt/flexsdk/bin/amxmlc
実行ファイルの場所が確認できれば次のステップへ。
NNDDのソースコードを持ってくる
NNDDの最新のソースコードはSubversionで管理されています。SorceForge.JPの以下のページに従って、Subversionを準備すればソースコードを取得できます。
http://sourceforge.jp/projects/nndd/svn/view/
今回使うのは、ソースコードそのものである
/NNDDv2/trunk/src/
の下にあるファイル群と、一緒に使うライブラリ
/NNDDv2/trunk/libs/nicovideo4as.swc
です。
Subversionが無い人は・・・なんとかして環境を作ってください(汗 (私はEclipseのプラグインのSubclipseを使っています。)
Subversionとかめんどくさいという方は、ここからNNDD v2の最新のソースがダウンロードできます。
NNDDをコンパイルする
amxmlcコマンドを使ってNNDDをコンパイルします。
$ amxmlc -library-path+=../libs/nicovideo4as.swc,../libs/NativeApplicationUpdater-0.5.1.swc -warnings=false NNDD.mxml
コマンド中の-library-pathオプションはライブラリを指定するオプションです。これで外部のライブラリであるnicovideo4as.swcとNativeApplicationUpdater-0.5.1.swcを追加しています。また、-warnings=falseでコンパイル時の警告を無視するように設定しています。
上記コンパイルが終われば、NNDD.swfが生成されます。
$ ls NNDD.swf NNDD.swf
NNDD.swfが生成されない場合は -warningsオプションを外してコンパイルエラーが出ていないかどうか確認してください。
AIRパッケージを作る
NNDDのインストーラパッケージ(.airファイル)を作ります。
設定ファイルを修正
AIRアプリケーション記述ファイル(NNDD-app.xml)を編集します。
NNDD-app.xmlの44行目(あたり)に記述されている、
<content>[この値は Flex Builder の出力ファイル app.xml に上書きされます]</content>
を、以下のように書き換えます。
<content>NNDD.swf</content>
これで保存しましょう。
自己証明書を作る
次に自己証明書を作ります。最初に紹介した記事でも説明されていますので、書いてあるまま実行しましょう。
$adt -certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword
上記コマンドを実行するとsampleCert.pfxという証明書が生成されます。これでインストーラを作る準備が整いました。
インストーラを作る
インストーラを作るには以下のコマンドを実行します。
$adt -package -storetype pkcs12 -keystore sampleCert.pfx NNDDv200b.air NNDD-app.xml NNDD.swf icon16.png icon32.png icon48.png icon128.png
上記コマンドを実行するとパスワードの入力を要求されるので、自己証明書を生成したときに入力したパスワードを入力します。
コマンドが完了すると、NNDDv200b.airという名前のAIRインストーラパッケージが生成されているはずです。
$ ls NNDDv200b.air NNDDv200b.air
ネイティブインストーラはどうやって作るのか?
ネイティブインストーラは-target nativeオプションを使うと作れるらしいです。
が、Ubuntuでやってみたところうまくいかず。
$ adt -package -storetype pkcs12 -keystore ../nnddCret.p12 -target native NNDDv200b.deb NNDDv200b.air NNDD-app.xml NNDD.swf icon16.png icon32.png icon48.png icon128.png password: /home/shiraminekeisuke/work/NNDDv2/src/NNDDv200b.air: error 100: Descriptor cannot be parsed
これが一番やりたかった事なんですけど!
今後の展望
最後まで書いてから気付きましたが、これってSourceForge.JPのNNDDのプロジェクトページのWikiに載せた方がいいですよね。
後でやる。
最後に
「MacBook Air 11インチ欲しい!」
MacBook Air持ち歩いてニヤニヤしたい。