Ubuntu Weekly Recipe

第157回 AndroidとUbuntuの素敵な出会い コマンドラインでのAndroid開発

この記事を読むのに必要な時間:およそ 3.5 分

今週はUbuntuとAndroidについてのレシピのしめくくりとして,Androidのエミュレータ環境と非IDE環境でのAndroid開発手法を紹介します。

Androidのスクリーンショットを撮る

先週,先々週のレシピでもIDEOS実機のスクリーンショットを撮っていますが,これらのスクリーンショットはAndroid SDKを導入したUbuntuから撮影しています。ここでいきなり脱線して,スクリーンショットの撮影方法を紹介しましょう。

まず先週紹介したSDKの導入,実機のデバッグモードとパーミッションの設定までを行なっておきます。準備ができたら実機をUbuntuにUSB接続してDalvik Debug Monitorを起動しましょう。

Dalvik Debug Monitorの起動

$ cd android-sdk-linux_86/tools
$ ./ddms

図1 起動したDalvik Debug Monitor。IDEOSが認識されているのがわかる

図1 起動したDalvik Debug Monitor。IDEOSが認識されているのがわかる

Dalvik Debug Monitor上でスクリーンキャプチャしたい対象デバイスを選択したら,メニューの「Device」⁠->「Screen capture」を選択してください。キャプチャウィンドウが開き,現在デバイスに表示されている画面がウィンドウ内に表示されます。⁠Save」で画像をUbuntu上にファイルとして保存し,⁠Copy」で画像をクリップボードへ転送します。⁠Rotate」では画像を反時計回りに90度ずつ回転し,⁠Refresh」で画像を更新します。

図2 スクリーンキャプチャ画面。実機で画面遷移が発生した場合の自動更新は行われないため,手動でRefreshをクリックする必要がある

図2 スクリーンキャプチャ画面。実機で画面遷移が発生した場合の自動更新は行われないため,手動でRefreshをクリックする必要がある

エミュレータ上での実行

さて,先週紹介したように,作成したアプリケーションは簡単に実機上で動作させることが可能です。しかし普段使っている携帯電話に,開発中のアプリケーションをインストールすることに抵抗がある人もいるでしょう。また,実機を持ってないけどAndroidに触ってみたいという人もいるかもしれません。そのような時はAndroid SDKに含まれるエミュレータを使うのがお勧めです。

Eclipseの「ウィンドウ」⁠->「Android SDK and AVD Manager」を開き注1)⁠⁠Virtual devices」⁠->「新規」をクリックします。新規バーチャルデバイスの作成ダイアログが表示されたら任意の名前を入力し注2)⁠ターゲットに「Android 2.2」を選択してください注3)⁠デバイスが作成できたら,⁠開始」⁠->「起動」をクリックすれば,Androidエミュレータが起動します。なお,起動には少し時間がかかります。

注1
コマンドラインからandroidコマンドを起動しても同じですが,ADV ManagerはこのようにEclipseの中から起動することもできます。
注2
本稿ではVirtual-IDEOSとしました。
注3
もちろんインストール済みのSDK Platform APIが複数あった場合は,それらの中からOSのバージョンを選択することができます。

図3 バーチャルデバイスとしてAndroid 2.2のデバイスを作成する

図3 バーチャルデバイスとしてAndroid 2.2のデバイスを作成する

複数のAndroidデバイスが接続されていると,Eclipseからアプリケーションを実行した際に,ターゲットを選択するダイアログが表示されます。ここでバーチャルデバイスである「Virtual-IDEOS」を選択しましょう。エミュレータ上にアプリケーションがアップロードされ,実機同様に実行されます。

図4 IDEOS実機とバーチャルデバイスの計2デバイスが接続されているのがわかる

図4 IDEOS実機とバーチャルデバイスの計2デバイスが接続されているのがわかる

図5 エミュレータ上で実行したHelloWorld

図5 エミュレータ上で実行したHelloWorld

著者プロフィール

水野源(みずのはじめ)

Ubuntu Japanese Teamメンバー。理想のフリーデスクトップ環境を求めて東へ西へ……のはずが,気がついたら北の大地で就職していたインフラ寄りのエンジニア。株式会社インフィニットループ所属。

コメント

コメントの記入