Windows上で、
processing1.5.1 で書いたプログラムを
Androidエミュレータ(android-sdk_r14-windows.zip)に表示させようと思い、
雑誌やネットの記事を見ながらトライしてみたのですが、
どうしても以下のメッセージが出てきて動きません。
BUILD FAILED
C:\Users\matsu\AppData\Local\Temp\android6509422987239500347.pde\build.xml:16:
Error. You are using an obsolete build.xml
You need to delete it and regenerate it using
android update project
この問題については、数週間前から海外のネット上で話題になっており、
色々と手を加えて問題を解決させている方もいるようでしたので、その記事を
参考にして環境構築をしてみたのですがうまくいきませんでした。
このページに、ここ最近のやりとりが書かれています。
「build.xml obsolete - help needed」
https://forum.processing.org/topic/build-xml-obsolete-help-neededどうも、build.xmlのスキーマが変わってしまったようで、それに伴い
関連ツールの修正が追い付いていないようにも感じます。
関連記事としてこんなものもあります。
ant の問題に関する記事
http://tools.android.com/recent/buildchangesinrevision14問題が解決しないまま数日が過ぎてしまい多少イライラしていた
のですが、今日は休日ということで再びチャレンジしようとして
作業に入った所、
processing2.0a3 というバージョンが
数時間前に公開された事を知り、このバージョンで問題が解決している、
との記述を某英語サイトに見つけたため早速試してみました。
結論から書きますが、動きましたよーーーん!!(ちょっと変なところもあるけど)processing2.0a3 のダウンロード
http://code.google.com/p/processing/downloads/detail?name=processing-2.0a3-windows.zip&can=2&q=
http://code.google.com/p/processing/downloads/list環境を構築してみます。
(1)processing-2.0a3-windows.zip と android-sdk_r15-windows.zip を
ダウンロードしておきます。
(2)(ともにデスクトップあたりで)解凍した後、フォルダごと任意の場所に置きます。
(私の場合、processing は、c:\tools\processing-2.0a3 に置き、
android-sdk は、フォルダ名を"android-sdk-windows"にリネームした後、
c:\android-sdk-windows としました。)
(3)c:\android-sdk-windows\SDK Manager.exe を起動して、複数のバージョンを
インストールします。
私は、API7, 8, 10, 14 あたりを入れておきました。仮想デバイスを選択する時には
どれか一つを選べばよいのですから、とりあえずAPIは複数入れておきました。
(この記事の最後の方に書いていますが、API8は入れておかないと実行時にエラーが出ます。)

(4)SDK Manager 上のメニュー:Tools -> Manage AVDs... を起動して、以下のような設定を
「New...」で追加しました。細かな設定は無視してもOKみたいです。
最初、API Level 10 で test223 という名称で1つだけ作ったのですが、
一度動作させた後で、もう一度このウィンドウを開くと、
いつのまにかもう一つできています。この辺の仕組みについてはよく分かりません。
(おそらくバグだと思います。プレイボタン(Run in Emulator)選択時処理のコーディングに
問題がある感じがします。)

(5)(4)の画面で、「Start...」を選択して、エミュレータを起動します。
スタンバイ状態になるまでかなり時間がかかります。根気強く待ちましょう。

(重要)
processing で書いたプログラムをAndroidエミュレータに表示させる時には、
事前にエミュレータを起動し、スタンバイ状態にしておいてください。
本来ならば、メニュー Sketch -> Run in Emulator で エミュレータはが起動できる
はずなのですが、エミュレータの起動の途中で止まってしまったり、と安定しませんし、
結局この操作では一度も動かすことができませんでした。 今の所は、実行前にエミュレータを起動しておかないと、以下のメッセージが出て止まります。
Lost connection with device while launching. Try again.
ただ、実行時には更にエミュレータが起動してしまい、2つエミュレータが起動して
しまうという変な状況になっています。
プログラムは、最初に起動しておいた方に、
しばらくの沈黙の後、表示されます。(6)processing を起動します。はじめてandroidを使う場合は、画面右上の「Standard」を
選択すると、Androidが選べるようになります。その後は、Android SDKのフォルダを指定
すればOKです。
(7)プログラムは、付属のサンプルを使いましょう。
processing上のメニュー :
File -> Examples...Topics/Motion/Bounce あたりはいかがでしょうか。
もし、「名前を付けて保存」を指示されたら、従いましょう。
(8)プレイボタンを押すと、コンパイルが始まって、問題なければエミュレータ上でプログラムが
動作します。以下に画面イメージを載せます。


日経ソフトウェア 2011年8月号のP140の記事も動きました。実はこの記事を
読んだ事が今回の調査をするきっかけになったんです。
以上です。
(補足)はじめて動作確認した時に以下のエラーが出ました。
API8を入れていませんでした。
-set-mode-check:
-set-debug-files:
-set-debug-mode:
-debug-obfuscation-check:
-setup:
[echo] Gathering info for sketch_nov06a...
Android SDK Tools Revision 15
BUILD FAILED
c:\android-sdk-windows\tools\ant\build.xml:421: Unable to resolve target 'android-8'
Total time: 0 seconds
メッセージの内容から、SDK Manager上の「Android 2.2(API8)をインストールしました。
どうして「
Unable to resolve target 'android-8'」なのかは
分かりません。必要、ってことなのでしょう。
最初からAndroid2.2(API 8)を入れておかないとダメみたいです。processing-2.0a3 は Pre-release版との事。1日もはやく正式版が出てほしいです。
おそらくこの記事は、日本語の記事としては、相当早いものだと思います。
数時間前に公開されたprocessingの動作確認ですから。(2011年11月6日(日)夕刻現在)
--- Cut here --- Cut here --- Cut here --- Cut here ---
(NEWSサーバが自由に見られた昔が懐かしい...(笑))
(2011.11.13 追記)
processing-2.0a3 が速攻でリストから消えて、2.0a4 になっています。
詳しくはこちらをご覧ください。
http://code.google.com/p/processing/downloads/listダウンロードして動かしてみましたが、まだ怪しい...
しばらく静観した方がいいんでしょうかね...
コメントの投稿