2011/07/11

AIR GEAR を使ってみた(2) - error while loading initial content

AIR GEAR を使ってみた(1) - インストール」 でプロジェクトを作成してみたものの、
error while loading initial content
というエラーが出て動きませんでした。


このエラー、ググって見ると、どうもバージョン情報が合っていない場合に出るようです。そこで、application.xml を開いてみると、先頭の2行は
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/1.1">
となっています。

今回インストールした AIR のバージョンはもっと大きいはずなので、ここがおかしいようです。


AIR のバージョンのチェックの仕方はいろいろありますが、Windows なら
FLEX SDK をインストールしたディレクトリの bin/adl.exe を 右クリック → プロパティ → バージョン情報 → 製品バージョン
で調べることができます。
今回インストールしたものは 2.6 のようです。

そこで、application.xml を以下のように編集します。
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/2.6">
1.1 → 2.6 に変更したわけです。

この状態で、
プロジェクト右クリック → 実行 → AIR Application

ところが、今回は
invalid application descriptor: versionNumber must have a non-empty value.
というエラーが出てしまいました。
こちらもググってみると、どうも descriptor の書式が変わったようです。
version → versionNumber と、タグが変更になったとのことです。
今一度、 application.xml を開くと、27行目あたりに
 <!-- An application version designator (such as "v1", "2.5", or "Alpha 1"). Required. -->
 <version>v1</version>
という記述があります。
ここを、
 <!-- An application version designator (such as "1", "2.5", or "Alpha 1"). Required. -->
 <versionNumber>1</versionNumber>
と書き換えます。
vがあるとダメのようですので、ただの1にしました。


この状態で、
プロジェクト右クリック → 実行 → AIR Application

とすると、以下のようなウィンドウが表示され、無事にAIRアプリケーションが動作するようになりました。


補足
今回の不具合は AIR GEAR が最新の FLEX SDK に対応していないために起こったものなので、そのうち解消されるはずですが、それまでは同じようなことをずっとしなければならないのかというと、そんなことはありません。
ApplicationDescriptor のテンプレートを自分で用意してやれば、この問題は解消します。

ウィンドウ → 設定 → AIR GEAR → テンプレート → ApplicationDescriptor

一番最新のものを選択して、編集

・名前
・説明
・パターン の applicationタグ
を全て 2.6 にします。
また、 version タグを versionNumber タグに変えて、値を1などにします。

OKを押すと、別名で保存するかどうか聞かれるので Yes を選択すると、2.6用のテンプレートが作成されます。
これで、テンプレートが作成されたので、新規プロジェクトを作成するときにはこのテンプレートが使われるようになり、プロジェクトを作成した直後からアプリケーションの実行が可能になります。

おわかりかと思いますが、FLEX SDK をアップデートして、AIR のバージョンが上がった場合は、同様にテンプレートを作成してやれば良いわけです。(AIR GEAR チームが用意してくれなければ)


0 件のコメント: