Hello, Android! (5)

以下の文章はこちらを参考に翻訳したものです。

                                                                                                                        • -

プロジェクトのデバッグ
EclipseAndroidプラグインにはEclipseデバッガも統合されています。ソースコード中にバグを埋め込んで、それを実際に確認していきましょう。HelloAndroidソースコードを以下のように変更してください。

package com.android.hello;

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

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Object o = null;
        o.toString();
        setContentView(R.layout.main);
    }
}


コード中でNullPointerExceptionを発生させるシンプルなものです。アプリケーションを再起動すると、最終的に以下のような画面が表示されます。

“Force Quit(訳注1)”を押してアプリケーションを強制終了し、エミュレータウィンドウを閉じてください。

エラーを特定するために、ソースコード中の”Object o = null;”の行にブレークポイントを置いてください(ソースコードの隣のマーカーバーをダブルクリック)。そして、メニューの 実行(Run) >ヒストリーのデバッグ(Debug History) > Hello, Android を選択し、デバッグモードで実行してください。アプリケーションはエミュレータ上で再起動しますが、今回はセットしたブレークポイントに到達した段階で処理を中断します。どんなアプリケーションであっても、Eclipseデバッグパースペクティブでコードをステップ実行することができるのです。

Eclipseなしでプロジェクトを作成
Eclipseを使わない場合(例えば、別のIDEが良い場合や単純にテキストエディタコマンドラインツールを使う場合)、Eclipseプラグインは当然使えません。でも、心配は無用です。Eclipseを使わなくても機能が制限される訳ではありません。

EclipseAndroidプラグインは、実は単にAndroid SDKを含めたツール一式のラッパーなのです(エミュレータやaapt, adb, ddmsなどのツールについては、他の箇所でドキュメント化されています)。このため、”ant”のビルドファイルなど他のツールで、Androidツールをラップすることもできます。

Android SDKには”activitycreator.py”というPhthonスクリプトがあり、ant用のbuilld.xmlと同様にプロジェクトの全ソースコードディレクトリのスタブを作成するのに使えます。このスクリプトを使用すれば、コマンドラインからプロジェクトを構築したり、好きなIDEと統合したりすることができます。

例えば、Eclipseで作ったものと似たようなHelloAndroidプロジェクトを作成するには、このコマンドを実行してください。

activitycreator.py --out HelloAndroid com.android.hello.HelloAndroid


プロジェクトをビルドするには、“ant”を実行します。上記コマンドの実行が成功した後、”bin”ディレクトリの下に、HelloAndroid.apkというファイルが作成されているはずです。.apkファイルはAndroidパッケージのことであり、”adb”ツールを使ってエミュレータ上にインストールし実行することができます。

このツールの使用方法の詳細は、前述したドキュメントを参照してください。

                                                                                                                        • -

(訳注1) 原文の画面上では”Force close”ボタンなのですが、文中では”Force Quit”となっています。バージョンアップした際の修正漏れですかね。

やっとHello Androidの章が終わりました。翻訳に思ったよりも時間がかかって大変です(T−T)

Android翻訳目次へ