2011/03/23

Androidもはじめました

【ミッション: Android の開発環境も導入せよ】

いつの間にか、ぼくがかつて愛用していた WILLCOM の ZERO3 シリーズはもはやマニア向けアイテムと化し(元からだろ)、知らない間に世間のスマートフォン市場では iPhone と Android 端末の対立構図が明確になっていた。

ぼくも昨夏、ZERO3 の故障で iPhone に乗り換え、以来 iPhone を肌身離さず大切にしている。

さらに、しゃりんくんの影響によって、できればぼくもいつか iPhone アプリを作れたらいいなぁという軽い気持ちで Objective-C に手を出すに至った

さて、ここまで iPhone を褒めといてなんだけど、iPhone アプリの開発には Mac が必須で、Windows マシンしか持っていないぼくはまだスタートに立てていない。

そんな中、ふと目をやると、Google が誇る Android がひときわ激しい輝きを放っていた。アプリ開発環境が実質タダ。しかも Java の知識をベースに開発が可能。実機を持っていなくても、エミュレータで挙動を確認しつつ開発を進められる。

これは楽しそうだと思った。

言い添えておくと、決して iPhone への熱が醒めたわけでもなければ Objective-C の習得に挫折したわけでもない。ただ、しゃりんくんの見ている『携帯端末向けアプリ開発』という世界を、ぼくも早く体感したかったのである。



思い立ったが吉日、まずは一にも二にも環境構築。

開発に必要な Eclipse IDE は既に持っているが、高校時代に入れたものなのでだいぶバージョンが旧くなってしまっている。そこで、Eclipse のダウンロードサイトから最新版の HELIOS を取ってきて入れた。

Eclipse HELIOS のスプラッシュウィンドウ。かっこいい。
次に、Android アプリ開発用のプラグイン Android Development Tools (ADT) をインストールする。

ネットワーク経由でのインストールが何故かうまく行かなかったので(プロキシの設定が必要なのかな)、仕方なく ADT ダウンロードサイトから、ADT-10.0.1.zip をローカルにダウンロードして、そこからオフラインでインストールする事に。

Location: jar:file:/D:/Program Files/eclipse/ADT-10.0.1.zip!/
あとは Eclipse を再起動すればよい。



続いて、パソコンに Android SDK をインストールする。ダウンロードサイトから android-sdk_r10-windows.zip を落としてきて適当なところに配置。

パスを通しやすいよう、SDK は D:\android\ の下に置き、環境変数 PATHD:\android\android-sdk-windows\tools; を追加。

これでよし。とりあえずちゃんと設定できているかを確認するために fastboot コマンドを打って……。

AdbWinApi.dll が見つからない。
ってあれ? なんかエラー出た

ちょっと付属の ReadMe を読んでみたところ、
Welcome to the Android SDK!

The Android SDK archive initially contains only the basic SDK tools. It does not contain an Android platform or any third-party libraries. In fact, it doesn't even have all the tools you need to develop an application.

(後略)
と書いてあったので、もともと付属していなかった模様。なにこれダメじゃん。

ちなみに dll ファイルはネットを漁れば簡単に見つかるのだが、どうせ後で追加の SDK コンポーネントをセットアップするので、今はこれは無視し、再び Eclipse に戻って Window > Preferences から SDK のパスを設定。


さっきの SDK は単なるスターターパッケージなので、更に SDK のコンポーネントを追加する。

Window > Android SDK and AVD Manager を開くと、インストールできる項目がずらっと列挙されるので、ここから目当てのコンポーネントを選ぶらしい。


最低限、SDK Platform-tools と Samples さえあればなんとかなりそうだったので、とりあえずそれだけ選んだ。もし後で必要になったらその都度入れていけばよい。



ADB を再起動後、今度はエミュレータの設定を行う。先ほどの SDK and AVD manager で、新しい Virtual Device を作る事に。


ここでは、Android のバージョン(今回はちょっと旧めに2.2)と、画面解像度を設定。適当に名前をつけて保存した。

実機は使わない(というか持ってない)ので、設定はこれで一旦終了。



さて、これまでの道のりが多少ヤバかった事もあり(エラーが出たりとか)、果たしてちゃんと環境構築できているのか気になるところ。

サンプルの Snake をプロジェクトにインポートして、ちゃんと動くか確かめてみた。

普通の Java アプリケーションを実行するのと同じように、Run ボタンをクリックすると、エミュレータが起動してそこで Android アプリが動くのだという。

ビルドしてみたが、エラーらしいエラーは出なかった(場合によってはクラスパスの設定が必要な場合もあるらしい)。

しばらくすると、エミュレータが起動する。


最近の携帯はこんなにもオシャレな画面なのか。


プログラムがロードされると、待ち受け画面に遷移。

上の写真の鍵マークを右側にドラッグすると、ロックが解除されて操作可能になる。


サンプルの Snake は、なんか大昔のパソコン(PC-98)を彷彿させるゲームだった。

なんと、iPhone アプリより先に Android アプリの開発環境が調ってしまった事になる。やったね!

……と喜んだのも束の間、これ、ぼくのノートパソコンで動かすにはちょっと厳しい事に気付いた。

いつもの感覚でビルドしたら、なんとエミュレータが固まってしまったのだ。 Eclipse 以外のアプリケーションを全て終了させて、やっと動作する程度。それも、ものすごく時間をかけて。

たとえばゲームなどを作る際、ちょっと修正してはビルドして試運転……という『ビルド頻発』のサイクルを避けねばならない事を意味する。

うーん……。学校のマシンに入れ直してそっちで遊ぶか……。