Google I/O "Android Development Tools"のメモ

このページの動画を見てメモしました。
android-development-tools.html

レイアウトエデュタ

最初の40分はADT11プレビュー版のレイアウトエデュタの話。これに関しては5/28のつぶぐだなまでやんざむ先生が説明してくれました。
http://www.ustream.tv/recorded/15012592

なお、レイアウトエデュタが生成するxmlがインデントされずに一行になってしまうのが残念とぐだなまの放送中にみんなが指摘していましたが、これに関しては、Google I/Oのビデオの中の最後の質問にもでてきていて、現在優先度を上げてとりくんでいるということでした。

また、ツールでのマルチタッチのサポートの質問もありました。開発チームとしては認識しているけれども手をつけていないそうです。

emulator

残りの20分でemulatorの開発の様子を説明してくれました。

現在のemulatorでGingerbreadのQVGAサイズなら速度的に問題なく動く。
しかし、Honeycombのタブレットのサイズだと "super slow"。

遅い理由は

2つめに関して、現在開発中のemulatorではOpenGL ESのコマンドをホスト側に流し込んで、ホスト側のOpenGLライブラリで描画するようにしているということでした。

そのデモ。
できたての最新版というそのemulatorは前回の終了時の状態を保存しておくことで瞬時に起動するようになっていた。
Honeycombのemulatorで星座のアプリを動かす。通常版では表示が遅い。(ARMのソフトレンダリングOpenGL ES ライブラリがリンクされていると思われる。)
実験版を動かすと、フレームがもうひとつ表示されてOpenGL ESによる描画は全てそっちのフレームに表示される。表示はスムーズ。画面は最終的には統合されてひとつになる予定。

もうひとつ、モーターボートのアクションゲームをこれと同じ方法で動かす。OpenGLの描画が別フレームだが、タッチパネルの入力は元のフレームでやらなければいけないので、ゲームの最初のメニューの操作がしにくいのはご愛嬌。
速度は十分でている。これはARMのバイナリをQEMUx86に変換しながら動いているが、そこは大きな問題ではないという話。

しかし、Google TVではx86のバイナリを使うので、x86のバイナリイメージを動かすemulatorも準備中とのこと。

androidのmasterにはこれらのemulatorが入っているようなので、試してみたい方はどうぞ。
関連するつぶやき。

Androidのemulatorのmasterのソースをビルドするのにはlibgl1-mesa-dev のパッケージが必要になるそうだ。OpenGL ESをホスト側で処理して高速化をねらうためだろうな。 http://bit.ly/ik7UqJ

posted at 13:01:44

androidのmasterをビルドするとemulatorの他に、emulator-renderer, emulator-test_renderer, emulator-ui, emulator-x86 ができる。描画高速化やx86版サポートに期待。

posted at 10:41:23