AVDでアプリケーションを実行する


Android developers」のチュートリアルをみながら「Hello, World」アプリを作成しています。前回は「UIの構築」についてみました。
「Hello, World」アプリ作成のステップは次のようになります。

  1. AVD の作成
  2. 新規 Android プロジェクトを作成する
  3. UI を構築する
  4. アプリケーションンを実行する
  5. UI を XML レイアウトにアップグレードする
  6. プロジェクトをデバッグする

今回はSTEP4の「アプリケーションを実行する」についてみていきます。

Step 4.アプリケーションを実行する

チュートリアルに従って下記コードを実行してみます。

package com.example.helloandroid;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TextView tv = new TextView(this);
        tv.setText("Hello, Android");
        setContentView(tv);
    }
}

STEP2でチュートリアルに従って新規プロジェクトを作成しました。チュートリアルに従って作成するとパッケージ名は

com.example.helloandroid

になっています。「チュートリアルのUIを構築する」のサンプルコードではパッケージ名が

com.android.helloandroid

になっていて一致せずにエラーになるので1行目を変更しています。

com.android.helloandroid;
アプリケーションを実行する

Eclipse3.6でAVD(Android Virtual Device)によりアプリケーションを実行します。 自分の環境ではSTEP1「AVD の作成」でAndroid1.6と2.2プラットフォームが動作する2つのAVDがあります。


2011-05-15時点でのスマートフォンの主流になっている2.2のAVDで実行してみます。

自分はAVDを実行するとき「DDMS( Dalvik Debug Monitor Serve)」画面を開いています。AVDの立ち上げは結構時間がかかるので進行状況を確認できます。

「①DDMS」をクリックしてDDMS画面を開きます。AVDの立ち上げの進行状況は③Devicesと④LogCatでみます。これらがない場合は「②左下のボタン」から追加します。


Eclipse > 実行(Run) > 実行の構成(Run Configurations) を選択します。

左パネルの「Androidアプリケーション(Android Application)」を選択します。

  • 名前は今回は「HellowAndroid」にしました。実行しようとしている内容がわかれば何でもいいです。
  • プロジェクト:では今回実行するアプリのプロジェクト名を選択します。

「ターゲット(Target)」タブをクリックします。

ターゲットの選択ではデフォルトでは「自動」になっています。「自動」でAVD一覧からターゲットを選択して保存すると、次回から選択したAVDで実行されます。
自分は同じアプリでもAVD切り替えることが多いので「手操作」にしました。毎回実行するAVDを聞いてきます。
「適用」ボタンをクリックして、「実行」ボタンくをクリックします。

「手操作」を選択したので実行するAVD名を聞いてきます。今回は「Android2.2」をターゲットにしました。

「実行」ボタンをクリックしてすぐに①のような画面が現れます。すぐに起動されたように感じますが、ここから作成したアプリが実行されるまでが非常に長いです。スペックによりますが5分ぐらいかかります。
②DDMS>Devicesにはこの時点では「emulator-○○○○」しか表示されていません。

ここでAVDの仕組みを少しみてみます。日本Androidの会 さんによるとAVDはQEMUというオープンソースのPCエミュレータ上で動作しています。つまりハードウェアの端末を仮想化しているのでAndroidそのものや動作するアプリは実機と同じになります。
AVDの初回実行時はこの端末仮想化の構築やAndroidの組み込みに時間がかかるみたいです。2回目からは結構早く実行できるようになります。

処理中にAVD画面を動作しようとすると「応答ありません」とかの状態になるかもしれませんが、バックグラウンドではきちんと動作しています。しばらく様子みてみましょう。

しばらくすると①のような画面になります。②DDMS>Devicesをみると「system_process」が表示されています。端末仮想化の構築が終わりAndroidのLinux部分が動作しているのでしょうか。Androidの起動が始まっています。

しばらくすると①のような画面になります。②DDMS>DevicesをみるとAndroidのシステム起動も終わりアプリのインストールが開始しています。このあたりから③DDMS>LogCatも活発に表示されます。LogCatに新たなログが追加されている間はまだ起動中です。

しばらくすると①のような画面になります。作成したアプリが実行されました。
②DDMS>Devicesをみると「com.example.helloandroid」がインストールされていることがわかります。また②DDMS>LogCatをみてもインストールされ成功していることがわかります。

グレーのバーに表示されている「Hello, Android」は、アプリケーションのタイトルです。このタイトルは Eclipse プラグインによって自動的に作成されます。タイトルの下のテキストは、サンプルコードのTexttView オブジェクトで作成したテキストが表示されています。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です