2013年1月27日日曜日

AI4A-Configurationsをチェックする[V1.4.5A]

 このエントリでは、AI4A-Configurationsをチェックするから少し時間が経過しましたので、こちらの更新情報についてチェックしたことを書いていきます。

 AI4AプロジェクトのGary Frederickさんが週末に

App Inventor - Personal Server install

というお題でHangoutsイベントを実施されていました。

この録画を見ていて気付いたのですが、AI4AのV1.4.5Aというバージョンが存在しておりました。

AI4A-Configurations V.1.4.5A




内訳を見るとGoogleAppEngineを含んだAI4A V1.4.5Aアーカイブとそれを起動するためのバッチファイルがアップロードされています。

その中に、
launch-buildserver32.cmd
というバッチファイルが含まれています。

※他にもBuildサーバ起動時に付加するオプション引数を与えられるようにソースに手が入っているようです。

これは32bitOS環境でBuildサーバを起動するためのバッチファイルです。

残念ながら手元のWindowsXP SP3の環境はメモリが1GBしかなく、Buildサーバを起動することができないのですが、2GBメモリが載っている環境であれば動作させることができるのではないかと思われます。

(※追記)
このエントリを公開した直後にGary Frederickさんから「<1GBメモリでも動くよ」とご指摘をいただきました。再度確認してエントリの修正をしてみたいと思います。

(※エントリ内容の訂正)
その後動作確認ができましたのでご報告します。32bit OS用バッチファイルにおいてJavaの引数を
... -Xmx900m ... --childProcessRamMb 900
と物理メモリ量よりも少なくすることで Buildサーバの起動およびAPKファイルの構築が完全にできることを確認しましたので訂正します。

素早くアドバイスをいただきましたGary Frederickさんに感謝申し上げます。

確かに物理メモリ量よりも大きな値を設定していたのではVMが起動しないですのでこの点に注意をして設定する必要がありました(デフォルトで指定されていた値分のメモリが無いと動作しないと思い込んでおりました)。

launch-buildserver32.cmdの内容は保有しているシステムのメモリ状況によって調整する必要がある点に注意すれば動作させることが可能ということになります。

検証環境がないためApp Inventor Portableにこれを適用して検証できないのですが、条件を満たす環境をお持ちの方はバッチファイルを書き換えて動作検証してみていただけると嬉しいです。

書き換えのポイントとしては、最初のJAVA_HOME設定の部分を以下のようにサーバ起動に関係なく64bitと32bit判定のみするようにすることと、
IF NOT "%PROCESSOR_ARCHITECTURE%" == "AMD64" (
    echo "JAVA_HOMEをUSBメモリ内のJDK(32bit)に指定"
    set JAVA_HOME=%CURDIR%\jdk1.7.0_11_32
) ELSE (
    echo "64bit OSの場合はUSBメモリ内のJDK(64bit)に指定"
    set JAVA_HOME=%CURDIR%\jdk1.7.0_11
)
もう1つはBuildサーバ起動部分を以下のようにすることの2点です。
IF %SERVER% == 1 (
    echo **************************************************
    echo App Inventor Serverを起動します
    echo **************************************************
    start /MIN %~dp0\AI4A\AppEngine\startAI.cmd
    echo **************************************************
    echo Build Serverを起動します
    echo **************************************************
    IF NOT "%PROCESSOR_ARCHITECTURE%" == "AMD64" (
        start /MIN %~dp0\AI4A\BuildServer\launch-buildserver32.cmd
    ) ELSE (
        start /MIN %~dp0\AI4A\BuildServer\launch-buildserver.cmd
    )
)

Gary Frederickさんについては、AI4AのGoogleグループにて
AdMob in App Inventor
なるキーワードの含まれた投稿をされており、非常に興味深い取り組みをされているので今後の動向をチェックしていきたいと思います。

このあたりのノウハウが充実してくるとApp Inventorの活用の幅が大きく広がってくるのではないかと期待しています。



0 件のコメント:

コメントを投稿

おすすめ書籍