タグ「Android 環境」が付けられているもの

ちょっと、GAE と連携する アプリをつくってみたくなったので、以前のメモをあさる。

  1. Android (実機) と GAE を連携させるためのデバッグ環境を Windows7 に構築する
  2. Android アプリから Google アカウントを利用して GAE アプリケーションを利用する
  3. GAE開発サーバーアカウントを利用する

メモをとりながら作業するのは結構面倒くさいが、しばらく時間が空くと、「やったことがある」という記憶を残して、詳細はほぼ忘れてしまうので、時間が倍かかったとしても、メモをとる価値はあるんだよなー

で、メインPCも変わった ため、GAEのSDKのインストールから再度やり直し。

上記メモを見ながら、まず、Android 実機からブラウザで、サンプルGAEアプリケーション(ローカルPC上)に接続するところまで。

上記メモでは、Eclipse 上の PyDev から、GAE 用の開発 Web サーバーをうごかしていたが、Eclipse をAndroid アプリの作成に使用する場合には、Eclipse 上ではなく別で動いていてもらえるとうれしいので、ランチャーを利用する。

ランチャーを起動

gae_launcher01 

SDK をインストールすると作成される、アイコンを起動。

%GOOGLE_HOME%\google_appengine\launcher\GoogleAppEngineLauncher.exe

GAEアプリケーションを開く

Google App Engine Launcher が起動するので、File - Add Existing Application を選択し、Eclipse の PyDev で作成したプロジェクトの、app.yaml が存在するフォルダを、Application Path に指定する。

gae_launcher02

File - Create New Application を指定すると、GAE アプリケーションを作成することもできる。

読み込まれたら、アプリケーションの行をダブルクリックし、コマンドラインオプションに、IPアドレスを指定する

--address=192.168.10.65

gae_launcher03

 

GAEアプリケーションを起動

設定できたら、Run アイコンをクリックして起動。WiFi から、Android 実機からテスト可能。

gae_launcher04

以上。

あらためて、Android アプリケーションの開発手順を振り返ってきているが、ちょっとややこしそうで敬遠していたユニットテストのやり方を把握しておこうと思う。

Activity のテスト

デベロッパーズガイドを確認すると、以下のテスト方法が説明されている。

http://developer.android.com/guide/topics/testing/index.html

まずは、Acitivity のテスト方法のアウトラインを理解したいと思う。

http://developer.android.com/guide/topics/testing/activity_testing.html

Android Instrumentation Framework 

Acitivity のテストは、コールバックに基づいた複雑なライフサイクルをもっていて、また、イベントをユーザーインターフェースへ送る必要もあるが、これらを可能にするのは、Android Instrumentation Framework  のようだ。InstrumentationTestCase を基底クラスとしたテストケースを作成することで、Acitivity を操作する方法が提供される。

InstrumentationTestCase の機能

以下のような機能が提供される

  • ライフサイクルの制御 : 開始、停止、破棄
  • 依存性の注入 : Context や Application、Intent のテスト用モック作成
  • ユーザーインターフェース機能 : キーストロークやタッチイベントエミュレート

テストクラスの概要

ActivityInstrumentationTestCase2 および、ActivityUnitTestCase の2つが主に利用するテストクラス

SingleLaunchActivityTestCase は Activity を通常でないモードで使用した場合

テストクラス 概要 モックContext
,Application
モック
Intent
ActivityInstrumentationTestCase2 通常のシステム環境 ×
ActivityUnitTestCase 隔離された環境 ×
※1
SingleLaunchActivityTestCase テスト中、環境が変化しない場合 × ×

※1 Activity.startActivity(Intent) 呼び出しは可

Eclipse から ADT を使ってユニットテストを行う

テスト用のプロジェクトの作成

  • テスト用に別プロジェクトを作成する必要がある
  • テスト用プロジェクトは、Android アプリケーションと同様のディレクトリ構造をもち、同様なファイル、マニフェストファイルなどを持つ
  • マニフェストファイルの <instrumentation> に従い、テスト対象のアプリケーションに接続する
  • Android プロジェクトの新規作成時だけではなく、いつでも作成できる

File - New - Other

Android Test Project を選択し、「New Android Test Project」ダイアログを開く(新規作成の場合、自動で表示される)

 android_test01

New Android Test Project

Test Project Name  に、名前を設定する。任意の名前がつけられるが、対象のプロジェクト + "Test" としておけばよい。

Test Target の「An existing Android project」 にチェックし、Browse で既存のプロジェクトを選択すると、その他の必要項目が自動でセットされる。

今回は、自作の手書きメモアプリを対象としてみた。

 android_test02

テストクラスの作成

作成された、テストパッケージ(今回の例では、info.typea.shujiroid.free.test) 配下にクラスを作成する。

パッケージを右クリックして、New - Class

名前は、テスト対象のクラス名 + "Test" としておけばよい。

基底クラスに、上記3クラスから、適切なクラスを選択する。とりあえず、ActivityInstrumentationTestCase2 としてみる。

 android_test03

テストクラスの実装

ここまでで、自動で生成されたテストクラスには何も実装されていないので、以下のような内容を実装する必要がある。

  • ジェネリック型に対象のActivityを指定する
  • コンストラクタ
  • setUp() メソッド、tearDown() メソッドを必要に応じて。setUp() では、ACTION_MAIN でインテントを呼び出したり、テスト用の環境を構築するのに利用する
package info.typea.shujiroid.free.test;

import info.typea.shujiroid.core.ShujiView;
import info.typea.shujiroid.free.R;
import info.typea.shujiroid.free.ShujiActivity;
import android.test.ActivityInstrumentationTestCase2;
import android.test.TouchUtils;
import android.view.Gravity;

public class ShujiroidTest extends 
              ActivityInstrumentationTestCase2 {
    private ShujiView shujiView;
    
    public ShujiroidTest() {
        super("info.typea.shujiroid.free", ShujiActivity.class);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        shujiView = (ShujiView) getActivity().findViewById(R.id.shujiview);
    }
    
    public void testDraw() {
        getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {
                shujiView.requestFocus();
            }
        });
        TouchUtils.dragViewBy(this, shujiView, Gravity.CENTER, 500, 200);
    }
}

デバッグ対象のアプリケーションに参照設定されるので、Activity はじめ、各クラスが参照可能になっている。また、対象のリソース参照クラスも、そのまま、R から利用できる。

setUp() をオーバーライドし、デバッグ対象アプリケーションの View の参照を取得しておき、テストケース(testDraw) から、タッチイベントを発生させることを試みる。

アプリケーションのユーザーインターフェースオブジェクトにアクセスするにはUIスレッドからアクセスする必要があるため、Activity.runOnUiThread() から、フォーカスをビューに与える

その後、TouchUtils を利用して、画面に描画を行ってみる。

ちなみに、以下のようなユーティリティが存在する。

テストの実行

テストケースクラスのコンテキストメニューから、Run As - Android JUnit Test を選択

android_test04

実機をつないで、上記を実行したところ、以下のように画面中央から、ドラッグイベントが発生し、画面に奇跡が描画された。

 android_test05

結果は、JUnit ビューに表示される

android_test06

なんとかとっかかりがつかめたので、次からはテストファーストできそうだよー

Android の超簡単なアプリケーションを作成し、Android SDK のソースコードを入手して参照できる状態にしていく。

事前準備

  1. JDK、Eclipseのインストールと日本語化

  2. Android SDK のインストールとエミュレータの作成

  3. Git Eclipse プラグインのインストール

が行われていることを前提とした記述となってます。

Hello Android アプリケーションの作成

まずは、画面にボタンを一つ配置するだけのアプリケーションを作成。

プロジェクトの作成

ファイル - 新規 - Android プロジェクト を選択する。

android_project01

プロジェクト属性の設定

ダイアログに、以下のような内容を設定し、完了。

項目 設定値 備考
プロジェクト名 HelloAndroid Eclipse 上のプロジェクト名を指定する
ビルドターゲット Android 2.2 にチェック ビルドに利用するSDKを指定する。SDKのインストールについては、こちら
アプリケーション名 HelloAndroid アプリケーションの名称を指定する
パッケージ名 jp.example.android 等 Java 規約に従ってパッケージ名をつける。公開する場合、ドメインを取った方がいいかも。1,000円/年 程度で取得できるし。
※ '-' を含むドメインは、'_' に置き換える。
アクティビティの作成 チェックON チェックをONにしておくとActivity(Android でいう"画面"のようなもの) のサブクラスが自動で生成される。
最小SDKバージョン 8 動作する最小のSDKバージョンを指定する。通常は、ビルドターゲットのバージョンに一致させれば良いと思う。

 

android_project02

画面のデザイン

Android では、画面をプログラムで記述することもできるが、基本的にはXMLにて画面定義を行う。

Eclipse の ADT プラグインには、一応画面のデザイナがついている(かなり頼りないが)ので、画面定義ファイルHelloAndroid\res\layout\main.xml をダブルクリックすると、以下のようにデザイナが立ち上がるはず。デザイン画面の下部のタブ「Graphic Layout」 「main.xml」で、デザイン画面と、XMLの記述が切り替わる。

先ずは、デザイナの左側のツールボックスから、「Button」 を黒色の画面にドラッグ&ドロップする。

android_project03

ボタンのプロパティ設定

ボタンが張り付いたら、コンテキストメニューから、プロパティを表示

android_project04

プロパティビューが起動するので、Text プロパティに 「Hello Android!!」 とでも設定しておく。

基本的に文字列リソースもXMLファイルに保持するのが多国語対応のためにもよいと思うが、簡単のために、プロパティを直接編集する。

また、ID プロパティを「@+id/btnHello」 とでもしておく。「@+id/」 としておくことで、そのIDが自動的に整数値としてフレームワークで管理され、R.id.btnHello として識別できるようになる。

 android_project05

ボタンを押下したイベントの追加

HelloAndroid\src\{パッケージ名}.HelloAndroid\HelloAndroidActivity.java を開いて、以下のように編集する。

  • (1) View.OnclickListener を Activity に実装 : ボタンのイベントを処理できるようにするため
  • (2) ボタンのイベントハンドラと登録 : 先ほど定義したボタンのIDを利用して、フレームワークからボタンのインスタンスを取得(定型的な書き方 JavaScriptみたい) し、イベントリスナーに Activity 自身を登録
  • (3) クリックイベントのハンドリング : ボタンを押されたら、テキストを現在時刻に変更する
package info.typea.HelloAndroid;

import java.util.Date;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class HelloAndroidActivity extends Activity 
                                  implements View.OnClickListener { // (1)
    
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // (2)
        Button btnHello = (Button) findViewById(R.id.btnHello);
        btnHello.setOnClickListener(this);
    }

    // (3)
    @Override
    public void onClick(View v) {
        Button btn = (Button)v;
        String s = (new Date()).toString();
        btn.setText(s);
    }
}

上記(1)について、 Eclipse の自動補完を使って、implements OnClick ・・・ や、 View.OnClick・・・ としても自動補完されない。View.OnclickListener は、クラスの内側に宣言された、static なインターフェースというちょっと変わったかたちになっている(でも結構便利) ので Eclipse が探しきらないのだろう。最初とまどったが、implements に続かないところ、例えばメンバー変数を宣言する位置とかで、View.Oncli・・・ とかなら自動補完されるので、そこで補完しておいて、カット&ペーストでimplements の後ろへ持って行くと楽かも。

ブレークポイントの設定

ソースエディタの左側の部分をダブルクリックするとブレークポイントを設定できる。

上記で追加したコードの btn.setText(s); にブレークポイントを設定する。

android_project08

アプリケーションの起動

プロジェクトのコンテキストメニューから、デバッグ - Android アプリケーション を選択する。

android_project06

数分後、エミュレータが起動してくる。

めでたく作成した画面が表示されている。で、ボタンを押してみる。

android_project07

先ほど設定した、ブレークポイントで実行が停止する。

android_project08

実行 - ステップイン とするか、F5 キーを押下することで、呼び出すメソッドの中のステップをデバッグすることができる。

android_project09

・・・ はずだが、Button.setText() メソッドは、SDK のメソッドなので、このままでは、以下のように「ソースが見つかりませんでした」という表示がでるだけで、ソースコードを確認することはできない。

android_project10

 

Android SDK ソースコードのダウンロード

ここからは、SDKのソースコードを入手して、Eclipse から参照できるようにしてみる。

Git リポジトリビュー から、リポジトリの Clone アイコンをクリック

Eclipse Git プラグインの導入 」をしておく。

特にEclipse プラグインを利用する必要はないけど、導入したので使ってみる。

以下も参照。

android_sdk01

Git リポジトリの Clone 設定ダイアログ

上記アイコンのクリックにより、以下のダイアログが開く。URI に以下の値を貼り付けると、その他の項目には、自動で値が設定されるので、「次へ」 を押下。

git://android.git.kernel.org/platform/frameworks/base.git

android_sdk02

Clone するブランチを選択

とりあえず、Android2.2 なので、froyo-release を選択してみた。

http://android.git.kernel.org/?p=platform/frameworks/base.git;a=summary

android_sdk03

ローカルでの置き場所を指定してCloneを実行

とりあえず、Android SDK のインストールディレクトリ配下に作成するように、%ANDROID_SDK_HOME%\base を ディレクトリーに指定する。

自分の環境だと、以下のパス。

例 : C:\Program Files\Android\android-sdk-windows\base

「完了」を押下し、しばらくまつ。

これが結構な時間がかかる。15分~20分程度。

android_sdk04

リポジトリーの Clone が 行われ、上記 base\.git にリポジトリが作成される。

また、自動的にソースが Checkout されるので、完了すると以下のようにソースコードを含むディレクトリ構造が作成される。

android_sdk05

ソースコードの位置を指定

プロジェクト\Android2.2\android.jar のプロパティから、Java ソースの添付を選択し、「外部フォルダー」ボタンで、上記 ソースコードが展開された、base フォルダを指定する。

 android_sdk06

Android SDK のソースが参照できるようになった

これで、自分が書いたアプリケーションのソース上から、Android フレームワークのメソッド呼び出し箇所を、Ctrl を押しながらマウスオーバーすると、リンクが表示されるので、クリックする。

android_sdk07

SDKのソースが画面表示された。 ちゃんと設定されているようだ。

android_sdk08

デバッグの実行

先ほどは、「ソースが見つかりませんでした」 となったが、同様にブレークポイントを設定して、デバッグ開始。停止したら、F5 でステップインしていくと、今回は前回と違い、SDK のソースコードをステップ実行することができるようになる。

android_sdk09

めでたしめでたし。

http://www.eclipse.org/egit/

Git を Eclipse から利用するために Egit プラグインを導入する。

EGit は、Java による Git の実装 JGit 上に実装されている Eclipse プラグイン。

以降のメモは、Eclipse 3.6 のインストールと Preiades による 日本語化を行っているのを前提としている。

また、Git 自体の使い方、使ってみた時のメモはこちら

インストール

ヘルプ - 新規ソフトウェアのインストール で、以下のダイアログが開くので、作業対象に、以下のURLを指定し、チェックし、「次へ」

http://download.eclipse.org/egit/updates

egit_inst01

使用条項に同意し、インストールを行い、再起動。以上でインストール完了。

設定

ウィンドウ - 設定 - チーム - Git - 構成 から、「新規エントリー」 を押下し、user.email および user.name エントリを作成する。この情報は、~/.gitconfig に保存され、誰がリポジトリに変更を加えたのかを特定するのに使用される。

egit_inst02

リポジトリの新規作成

ファイル -新規 - Java プロジェクト から、「HelloGit」 プロジェクトを作成

egit01

プロジェクトのコンテキストメニューから、チーム - プロジェクトの共用 から、

egit02

Git を選択して 「次へ」

egit03

プロジェクトを選択して、「リポジトリの作成」を押下。

これで、新規Git リポジトリがプロジェクトのために初期化される。

egit04

プロジェクト名の後ろに、[master] が付加されており、master ブランチとして、追跡されていることを表している。「?」は、バージョン管理に追加されていないことを表している。

egit05

変更の追跡

パッケージエクスプローラーのメニューバーから、ドロップダウンメニューを開き、フィルターを選択し、「.*リソース」 のチェックを外すと、「.classpath」や「.project」 等の管理ファイルが表示される。

egit08

「.gitignore」ファイルを追加し、内容を 「bin」とすることで、プロジェクトフォルダー配下、class ファイルを出力する、bin フォルダをバージョン管理対象外とする。

egit09  egit11

追加

コンテキストメニューから、チーム - 追加 を行う。

egit08 

アイコンが、「+」にかわり、バージョン管理に追加された。(「.gitignore」ファイルもバージョン管理対象とする必要あり)

egit09

コミット

プロジェクトのコンテキストメニューから、チーム - コミットを行う。

  • コミットする変更に対しての簡単な説明を最初の行に入力する。デフォルトの作成者とコミッタは、ホームディレクトリの「.gitconfig」ファイルに記述されている。
  • 「サインオフ」を追加をチェックしておくと、Signed-off-by: タグが追加される。
  • 「コミット」ボタンでコミットが行われる。

egit12

アイコンが、樽 に変わる。

egit13

履歴の表示

コンテキストメニュー の チーム - Show in Repository View を選択し、

egit14

プロジェクトのコンテキストメニューから、「ヒストリーに表示」

egit15

履歴が表示される。

egit16

HelloGit.java の内容を編集して、コミットを行う。

コミットログが表示された。

egit17

比較モードで表示

比較モード アイコンを トグルして、ソースをダブルクリックすると、比較ビューが表示される。

egit18

egit19 

まずは、以上

に続いて、Eclipse から実機デバッグを行う準備をステップ・バイ・ステップで。

Android 端末の設定

端末側で、以下の設定を行い、Windows PC に接続し、ドライバーをインストールする。

Android 端末は、X06HT Desire の例。

設定 - アプリケーション を選択

application

不明な提供元 のチェックを ON に

デバッグ用にアプリケーションをインストールする必要があるので、「不明な提供元」のチェックをONにし、「開発」をタップする。

dev

以下、必要なチェックをONに

  • USBデバッグ ・・・ ON にする。これにより、USBストレージとしてではなく、Android 端末としてPCに認識される。
  • スリープを無効にする ・・・ USB接続している間(要するにデバッグ中)は、スリープしないように設定
  • 疑似ロケーションを許可 ・・・ デバッグ用の位置情報を設定可能にする・・・のだろうなぁ(未調査)

settings

Windows XP にて、ドライバーのインストール

http://developer.android.com/sdk/win-usb.html

Android 端末を上記設定にして、接続すると、ハードウェアの追加ウィザードが立ち上がる。

立ち上がらない場合は、コントロールパネルから「ハードウェアの追加」を選択すればよい。

「いいえ、今回は接続しません」 を選択し、次へ

android_inst50 

「一覧または特定の場所からインストールする」を選択し、次へ

android_inst51

「リムーバブルメディア を検索」チェックを外し、「次の場所を含める」にチェック、Android 開発環境構築 ステップ・バイ・ステップ (2) ~ Android SDKのインストールと エミュレータの作成 で、Android SDK をインストールしたパス配下の、google-usb_driver を選択し、次へ

※ Android SDK のインストール時に、適切にGoogle が提供するツールキットをインストールしておく必要がある。

C:\Program Files\Android\android-sdk-windows\google-usb_driver

android_inst52

ADBドライバをインストールできない場合の対処(X06HT)

X06HT だと、「このハードウェアをインストールできません」となってしまう。

Android (X06HT Desire) Windows XP にてADBドライバを認識しない(実機デバッグできない)場合の対応

android_inst53 

C:\Program Files\Android\android-sdk-windows\google-usb_driver\android_winusb.inf ファイルをテキストエディタで開き、CPUのタイプに合わせて、[Google.NTx86] x86 プロセッサまたは、[Google.NTamd64] amd64プロセッサセクション等の下に下記を追記し、再度インストールを行う。

ダイアログを閉じてしまったりしたら、コントロールパネル - ハードウェアの追加 から、ウィザードに従って進めるとまた出てくる。

android_inst54

;
; HTC Desire
%SingleAdbInterface%        = USB_Install, USB\VID_0BB4&PID_0C87
%CompositeAdbInterface%     = USB_Install, USB\VID_0BB4&PID_0C87&MI_01 

インストール完了

android_inst55

ADBドライバをインストールできない場合の対処法の想像(X06HT以外)

ちなみに、X06HT Desire についての解決法は、「HTC desire 実機デバッグ」を参考にさせていただいたが、上記android_winusb.inf に追記した内容は、見る限り、USBデバイスの

VID_ベンダID&PID_プロダクトID

のようだ。今回、VirtualBox を使って、USB設定のフィルタ編集にて内容を確認した。

android_inst56

この情報を得ることができれば(VirtualBoxをいちいち使わなくても良い方法もあるだろう)、インストールファイルに情報が記述されていない端末でも、上記X06HT のように、エントリーを作成し、インストールすることができそうな感じ(試しようがないので、想像)

ちなみに、Windows 7 へのインストール は、Android 実機(X06HT Desire)やっと入手!実機デバッグを試す を参照

Eclipse から 実機を参照する

Eclipse を立ち上げて、メニュー - ウィンドウ - ビューの表示 - その他 から、「Devices」 を選択して、OK とする。

android_inst57

端末が認識されている。

android_inst58

ちなみに、右上のアイコンを押すと、端末のスクリーンショットがとれる

android_inst59

android_inst60

これで、実機デバッグするための準備が整った。

JDK のインストール、Eclipse のインストールと日本語化 に続いて、Android SDK をインストールし、エミュレータ起動確認までして、開発準備が整うところまで行う。

Android SDK のインストール

Windows 用のインストーラー(exe) をダウンロード

http://developer.android.com/sdk/index.html

android_inst38 

インストール

ダウンロードした、インストーラを起動し、ウィザードに従う。

後で必要になるので、インストール先を覚えておく

C:\Program Files\Android\android-sdk-windows

android_inst39

インストールが完了し、「起動する」にチェックを入れOKとすると、以下のように「Android SDK and AVD Manager」 が立ち上がるが、後ほど、Eclipse 経由で実行するので、ここでは起動しなくて良い。

android_inst40

SDK のインストールといいつつ、これは、スターターパッケージで、実際のSDK は、開発対象となるSDKのバージョンなどを指定して、個別にインストールすることになる。

ADT Eclipse プラグインのインストール

http://developer.android.com/sdk/eclipse-adt.html#installing

ADT (Android Development Tools) という、Android アプリケーションを構築するための統合された環境のEclipse 用プラグインをインストールする。推奨の方法で、ほとんどのことがEclipse からできる用になる。

インストール

Eclipse を起動し、メニュー - ヘルプ - 新規ソフトウェアのインストール を選択。

右上の 「追加」ボタンを押下して開いたダイアログに以下の値を設定する。

名前 : ADT Plugin

ロケーション : https://dl-ssl.google.com/android/eclipse/

android_inst42

開発ツールのチェックを選択して、「次へ」

android_inst43

次画面では、インストール項目の確認が行われるので、ここも「次へ」

次画面で、ライセンス条項に同意して、「完了」

インストールが完了すると、再起動を促されるので従う。

ADT プラグインの設定

Eclipse が再起動したら、メニュー - ヘルプ - 設定 から設定画面を起動。

左ペインにて、Android を選択し、右側の「SDKロケーション」に先ほど控えたSDKのインストール先を選択し、OK

android_inst44

Android SDK および AVD マネージャの起動

メニュー - ウィンドウ から、Android SDK および AVD マネージャー を選択する

android_inst45

左側で、Available package を選択すると、現在インストール可能なパッケージを選択できるようになる。

後から必要に応じて再度インストールできるので、とりあえず以下をチェックしてインストールする。

  • Android SDK Platform-tools : 必須
  • SDK Platform Android 2.2 API 8 revision 2 : いずれかのバージョンは必須
  • Documentation : ドキュメントをオフラインで参照。Eclipseから利用もできる
  • Samples : サンプルプロジェクトを実行でき、コードを参考にできる。非常に有用。
  • Google APIs : Google Map 等、Android SDK に含まれず、Google が提供しているライブラリを使う場合に必要
  • Google USB Driver package : Windows で実機をUSB接続して使う場合に必要なドライバ

android_inst46

※ コード補完でEclipse が固まってしまう件の対処

Android 関係のコード補完、例えばActivity の派生クラスなどを行うと、確実にEclipse がフリーズする事象がが発生。1分程度待てば回復するのだがかなりいらつく。

こちら にて対処法が紹介されている。Eclipse3.6.1 + ADT にて発生するようだ。org.eclipse.jdt.core_3.6.1.v_A68_R36x.zip をダウンロード、解凍し、Plugins フォルダを、Eclipse のディレクトリに上書きすることで解消。

エミュレーターの作成

インストールが完了したら、そのまま、Android SDK および AVD マネージャー 画面の左側の、Virtual devices を選択し、「新規」ボタンを押下する。

起動したダイアログに、対象となる実機を想定した値を設定し、「CreateAVD」ボタンを押下。

android_inst47

作成できたら、エミュレータを、開始してみる。

android_inst48

しばらくかかる・・・

android_inst49

起動した。

これでとりあえず、開発するための環境は整った。

Android 入門本の私的レビュー

以下に、Android Developers 公式サイトを参照しながら、環境を限定することで、なるべくステップ・バイ・ステップでAndroid 開発環境の構築を説明しようと思う。

 

Android SDK インストールについてのページ http://developer.android.com/sdk/installing.html

android_inst01

JDK のインストール

まず、PCにJDKをインストールする。JDK とは、Java Software Development Kit の略で、Java を使った開発を行うのに必要なライブラリ群。

JDK5 もしくは JDK6 が要件になっている。最新のものを以下からダウンロード。

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Java Platform (JDK) のダウンロードを選択。

ページを見ると、いろいろ選択肢があり、混乱するが、以下のアイコンをクリックし、Java Platform(JDK) をダウンロードする。

android_inst02

ちなみに、JRE というのは、Java Runtime Environment の略で、実行環境のみで、開発環境は入っていない。JDK は実行環境 + 開発環境。

また、Java SE は Standard Edition のことで、基本的なライブラリ。他にも EE (Enterprise Edition) など、拡張機能などもあるが、Android 開発には不要。

Platform に Windows を選択、I agree のチェックを ON にして、Continue

android_inst03

jdk-6u23-windows-i586.exe をダウンロード

※ 6u23 の部分はバージョンなので異なる可能性あり

 android_inst04

ダウンロードしたファイルの実行

起動したら、ウィザードに従い、「次へ」を選択していけばよい。

android_inst05

環境変数の設定

Eclipse を使う上では、必須ではないかもしれないが、コマンドラインからJavaのコマンドを使うなどの場合、OSにコマンドの場所を認識させる必要があるので、環境変数を設定しておくとよい。

インストールが完了すると、おそらく、Program Files 以下に Java フォルダが作成され、その配下に、JDKのディレクトリが作成されるはず。

android_inst06

マイコンピュータ を 右クリックしてプロパティを開き、「詳細設定」タブ から、「環境変数」ボタンをクリックすると、環境変数ダイアログが開く。

android_inst07

システム環境変数から、「新規」をクリックし、開いたダイアログの「変数名」に 「JAVA_HOME」 を、変数値に、今回の例では、「C:\Program Files\Java\jdk1.6.0_23」 を、入力し、OK

android_inst08

次に、システム環境変数の一覧から、「Path」を選択し、「編集」ボタンをクリックし、末尾に「;%JAVA_HOME%\bin」を追記し、OK とする。

確認

正しくインストールと設定ができたかを、コマンドプロンプトを立ち上げ、「javac -version」コマンドを打ち込むことで確認する。

android_inst11

Eclipse のインストール

ダウンロード ~ インストール

以下から、Eclipse をダウンロードする。

ダウンロードページ http://www.eclipse.org/downloads/

Eclipse 自体は、様々な言語向けの統合開発環境(IDE)。

上記ダウンロードページを開くと、こちらもいろいろあって何をダウンロードしてよいか混乱するかもしれない。以前は、このダウンロードページでいう、「Classic」一つのみが提供されていて、それをインストールした後、プラグインで機能拡張する方式だった。しかしながら、当時のEclipseは、プラグインによって機能拡張が柔軟な反面、プラグイン自体どこから入手したらよいやら、同じような機能で複数のプラグインが存在して何を選んでよいやら、プラグイン間の相性が悪くて使いものにならないやら、Eclipseのバージョンを上げたら使えないやらで結構、いやかなり面倒くさかった。いつからか、現在のように、開発対象(例えば、JavaEE、C/C++、PHP等)によって、よく使うプラグインとセットにして動作確認したものを提供してくれるようになった。なので、一見いろいろあってよくわからないように見えるが、実は非常に楽になった結果なのです。

で、推奨の「Eclipse Classic」をダウンロードする。個人的には、Java EE 版に Android SDK を組み込んでいるが、別段問題はないと思う。

android_inst12

ダウンロードしたファイルは、zip 圧縮されているので、適当なフォルダに解凍。

解凍してできたフォルダの中の、「eclipse」フォルダを、任意のフォルダに移動で、インストール完了。

自分は、「eclipse」フォルダを「eclipse3.6.1」などバージョンを付加して、「C:\Program Files」以下に置くことが多い。バージョンを付加するのは、eclipse の複数のバージョンを同時にインストールすることが多いため。eclipse 自体は、レジストリを使ったりしないため、複数バージョンを共存することが可能。

android_inst13

日本語化

Eclipse はこのままだと、メニューやらすべて英語。自分も昔はランゲージパックとか当てていたが、今は、おそらく、プレアデスっていう動的に日本語化するプラグインを組み込んだオールインワンパッケージを利用するのが主流と思われる(ちがう?)ので、そちらを試す。

そもそも、上記手順にて、Eclipse をダウンロードせずに、JDK インストール後、Java の Standard All in One (JREなし) をダウンロード、解凍すればそれでよさそうではある。

以下の手順がわりと面倒くさいので、それで良いかも。

Pleiades http://mergedoc.sourceforge.jp/#pleiades.html

android_inst14

個人的には、Eclipse を使っているうちに慣れてきて、別に英語メニューのままで不自由は感じなくなったので、日本語化せずにそのまま使っている。

プレアデスを一度試してみたことがあるが、ただでさえ軽くはないEclipse がいっそうもっさりしてしまって、それ以来使っていない。そのあたりは、きっとだいぶ解消されていることだろうので、今回試してみよう。

上記オールインワンパッケージを利用せずに、インストール済みのEclipse にプレアデスを適用する方法が、以下にあるので、そちらを試す。

http://mergedoc.sourceforge.jp/#pleiades.html

android_inst15

Eclipse を起動

eclipse.exe を起動すると、作成したプロジェクトを格納する位置を指定するダイアログが表示されるので,適宜変更して(基本、そのままでよい)、OK

android_inst16

ワークベンチを表示

画面右上のワークベンチを選択

android_inst17

subversive プラグインのインストール

Pleiades が、Subversion の公開リポジトリにあるので、そのプロジェクトを取得するために、Subversion プラグイン である、Subversive プラグインをインストールする。

Help - Install New Software を選択

android_inst18

Install 画面の、プルダウンから、Helios - http://download.eclipse.org/releases/helios を選択

※以降のコネクターのインストールで、次のようなエラーが出た場合、http://download.eclipse.org/technology/subversive/0.7/update-site/ を選択して、以下、同様の処理を行ってみる。

subversice_err 

 

android_inst19

Collaboration グループの下の、Subversive SVN Team Provider をチェックして、インストールを行う。

http://www.eclipse.org/subversive/documentation/gettingStarted/aboutSubversive/install.php

android_inst20

SVN コネクターのインストール

上記だけでは使えないので、コネクターのインストールを行う。

Help - Install New Software を選択し、Install 画面で、Available Software Site のリンクを選択

android_inst26

起動した画面から「Add」ボタンをクリックし、ダイアログに以下の値を入力しOK、元の画面も閉じる

Name:Polarion Software

Location : http://community.polarion.com/projects/subversive/download/eclipse/2.0/helios-site/

android_inst27

すると、Install 画面のプルダウンに追加したURLが出てくるので、選択。すると、リストにSVN コネクションに関するアイテムが表示される。

android_inst28

その中から、Subversion SVN Connectors および、SVNKit 1.3.1 IMplementation を選択してインストールを続行。

android_inst29

Subversive リポジトリビューア を開く

Window - Show View - Other を選択

android_inst22

SVN から SVN Repositories を選択

android_inst30

SVN Repositories ビューが表示されるので、右クリックし、Repository Location を選択

android_inst31

URL に、http://svn.sourceforge.jp/svnroot/mergedoc を設定し「Finish」をクリックすることで、Pleiades プロジェクトを参照可能になる。

android_inst32

trunk を右クリックし、「Check Out」をクリックし、プロジェクトを取り込む。

android_inst33

build.xml を選択して、右クリックから Run As - Ant Build を行う

android_inst34

build の下に、pleiades.zip が生成されるので、これを解凍する。生成される場所は、build のプロパティを参照すると、パスが表示されている。

android_inst35

一旦、Eclipseを終了し、解凍したフォルダから、features と plugins フォルダを、Eclipse をインストールしたフォルダ直下にコピー。

eclipse.ini をテキストエディタで開き、最終行に

-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

を追記し、再度起動する。

android_inst36

日本語化終了

android_inst37

とりあえず、以上。

手順をある程度詳細に書くと結構な分量になるなぁ。

(2) へ

Java の入門書としては、当時、以下のJavaではじめるプログラミング (プログラミング学習シリーズ) が非常にわかりやすくて良かったのだけど、中古品しか出てないってことは、あまり人気がなかったのかしら?Java5 以降に対応したものもでるといいのに残念。


Windows 7 に X06HT Desire を接続しての実機デバッグでは、あっけなく設定が完了したが、Windows Xp Pro SP3 にて実機デバッグをしようとしたところ、はまる羽目に。

ADB ドライバを認識しない

USBデバッグを開始した、Desire を接続するとハードウェアの検出ウィザードが表示されるので、「次の場所で最適なドライバを検索する」を選択し、「リムーバブル・・・」のチェックを外し、「次の場所を含める」にチェックをして、%AndroidSdk%\usb_driver フォルダを指定して、次へ

ここで説明されている通りに実施するも。。。

adb_driver_notfound01

何度やってもインストールできない。うーん。

adb_driver_notfound02

前回のトライではあきらめましたが、今日解決したので、メモ。

方法(1)  Desire を FASTBOOT モードで起動しインストール

実は、方法(2) の方が簡単なので、まずそちらを試すことをおすすめ。

X06HT Desire をFASTBOOT モードで起動する

一旦電源を落として、戻るボタンを押しながら、電源を入れると、FASTBOOTモードで起動する。

x06ht_fastboot01

こんな感じ。

x06ht_fastboot02

この状態で、デバイスドライバから、一旦ドライバを削除。

adb_driver_notfound03

この段階で、自動でハードウェア変更のスキャンが走ればよいし、走らなければ、メニュー の「操作」から実行する。

adb_driver_notfound04

で、今回は、%AndroidSdk%\usb_driver フォルダを指定してドライバのインストールを行うと成功する。

adb_driver_notfound05

adb_driver_notfound06

で、一旦PCを再起動して、%AndroidSDK%\adb devices を実行すると、

adb_driver_notfound08

めでたく認識されました。もちろん Eclipse でも認識されてます。

方法(2) android_winusb.inf を書き換える

こちらのページに記述がありました。「HTC desire実機デバッグ

%AndroidSdk%\usb_driver\android_winusb.inf  ファイルをテキストエディタで開き、[Google.NTx86],[Google.NTamd64]セクションの下に下記を追記

;
; HTC Desire
%SingleAdbInterface%        = USB_Install, USB\VID_0BB4&PID_0C87
%CompositeAdbInterface%     = USB_Install, USB\VID_0BB4&PID_0C87&MI_01 

この記述を追記することでも、ドライバをインストールすることができました。

以上。

と、Android 端末のGoogle アカウントを用いて、GAEアプリケーションを利用する準備を徐々に進めてきていたのだが、GAEの開発環境でのやり方が分からなかったため、とりあえず実際にアプリケーションをリリースして試していた。

が、何とかいける方法が見つかったので、メモ。

通常PCから、GAEのアプリケーションをログインしないと使えないようにすると、以下の様なログイン画面にナビゲートされる。

gae_auth04 

ただ、Android 端末ではGoogle アカウントを管理しているので、アプリケーションがログインを必要とするGAEアプリケーションを利用する場合、以下の様な画面を表示させて、事前に認証を行っておくことが出来る。その手順は、前回実現した。

android_gae03

が、同じ手順で、ホスト名のみ、開発用のGAE の Webサーバーにしてもそのままでは動作しない。

まぁあくまで開発環境なので、認証周りまで完全にエミュレート出来ているわけでは無いのだろう。

開発用のサーバーでは、以下の様なログイン画面が表示され、何でもいいのでメールアドレスを入力してログインすると、目的のアプリケーションに遷移するようになっている。

gae_auth02

ということは、まぁ Cookie になにがしかの値を埋め込んでいるのだろうと言うことで、Firebug でのぞいてみると・・・

gae_auth01

こんなエントリーが。なんか、後半の数値の部分は動的に生成しているのかな?と思って、検索してみると数件そのままの値がヒット。

dev_appserver_login=test@example.com:False:185804764220139124118

なんか、固定値みたいなので、そのまま Cookie にセットして送信するコードを書いて、、、

String uri   = null;
String acsid = null;
HttpGet httpGet = null;
HttpResponse response = null;
if (Debug.isDebuggerConnected()) {
    // デバッグ時のコード
    uri   = "http://192.168.10.119:8080/cardroid";
    acsid = "dev_appserver_login=\"test@example.com:False:185804764220139124118\"";
} else {
    // リリース時のコード以下参照
    // http://typea.info/blg/glob/2010/08/android-google-gae.html 
}
HttpPost httpPost = new HttpPost(uri);
httpPost.setHeader("Cookie", acsid);

response = client.execute(httpPost);
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    String l = null;
    while((l = reader.readLine()) != null) {
    Log.i("MyApp",l);
}

実行してみると、めでたく、ログイン状態となったようだ。

gae_auth03

これで、開発環境で、GAEアプリをテスト出来そうだ。

 

以上。

Android アプリから、GAE の認証を行うことは出来たのだが、GAE の SDKに含まれる開発環境にうまく接続することが出来ない。

仕方がないので、デバッグ中か否かを判定して、デバッグ中の場合は、接続先のURLをローカルアドレスに変更し、認証プロセスをスキップさせようと思いそれらしいAPIを探してみる。

android.os.Debug.isDebuggerConnected()

あった。

・・・ が、試せど試せど 上記の結果が true にならない。いらいらいらいら。

しらべてたら、SDKにこんな記述が。

Declare your application as debuggable in your manifest

マニフェストファイルに書けばいいのね。ふーん。

で、見てみると、ありました、Debuggable = true に設定。

android_debugable01

LogCat に出力するとキャプチャがとれないし、false の場合確認が出来ないので、Toast に表示させるべく、メイン Activity の onCreate に以下を記述。

(Toast.makeText(this, 
    String.valueOf("Debug.isDebuggerConnected() = " + Debug.isDebuggerConnected()), 
    Toast.LENGTH_LONG)).show();

(が、Toast にしてもキャプチャはとれないことに後で気づく)

起動してみると、以下の様なダイアログが。ちゃんと機能してるっぽい。あたりまえか。

 android_debugable02

そして、きちんと Toast に true が表示されました。

もちろん USB デバッグを停止して実行すると false が返りました。これでデバッグ時と通常時で挙動が切り替えられます。一歩野望に近づきました。

android_debugable03

Eclipse のプラグインからもいろいろ操作ができるようになりました。

android_debugable04   

リリースするときには false に戻した方が良さそうです。

Android アプリの開発の概要はつかめてきたので、Google App Engine と連携させるべく、Eclipse の開発環境を整える。

といっても、Eclipse から PyDev で GAE をデバッグしながら、USB接続した Android 実機(X06HT) からGAE アプリにリクエストを投げられる環境を作るだけだが。

Windows ファイアーウォールの設定

まず、別のホストから、GAE の開発サーバーにアクセスする必要があるので、8080ポートを開放する必要がある。

ポートは8080以外にも設定可能だが、GAEの開発サーバーのデフォルトに合わせる。

コントロールパネルからシステムとセキュリティ、Windows ファイアーウォールの状態の確認を開く

android_gae01

android_gae02

左側のペインから詳細設定を開く

android_gae03

Windows ファイアーウォールの設定画面が立ち上がるので、受信の規則 を左側ペインで選択し、右側の操作から、新しい規則を選択する。

 android_gae04

ポートを指定

android_gae05

特定のローカルポート 8080 を指定

android_gae06

接続を許可する

android_gae07

任意の名前をつける

android_gae08

作成された

android_gae09

Eclipse 側、PyDev アプリの作成

まず、PyDev の新規プロジェクトを作成する。

PyDev については、こここのあたりを 参照。

プロジェクトを起動して、アプリケーションの出力が表示されることを確認

android_gae10

GAE 開発用サーバーの設定

GAE 開発用サーバーと アドレスをバインドする

デフォルトでは、GAE の開発用サーバーは localhost しかリッスンしていない。

これを、Windows 7 マシンの IPアドレスにバインドする。

プロジェクトの src フォルダのコンテキストメニューから、 Debug As - Debug Configurations を選択

android_gae11

GAE の開発用サーバーの引数に -address [IPアドレス] を指定してやる

Python 開発用サーバー のヘルプhttp://code.google.com/intl/ja/appengine/docs/python/tools/devserver.html

Argument タブに、-address IPアドレス の記述を追加する

android_gae12

Debug ボタンを押下すると開発用サーバーが起動する

通常は、http://127.0.0.1:8080 とログがはかれるが、指定したIPアドレスとバインドされている。

android_gae13

WiFi で自宅のネットワークから、Windows PCのIPアドレスの8080ポートに接続すると、GAE アプリケーションが表示される

 android_gae14

成功!

以上。

最近、無料アプリケーションのアップデートを Android マーケットで行うと、もれなく広告がついてくるようになりました。

画面が狭くなって使う側としてはあまりうれしくはありませんが、おそらく今後(今も?)アプリケーションを販売することは困難になると思われるので、無料版に広告がつくのが自然の流れになった方が、開発していこうとする側としては望ましいかなと思います。

で、広告をアプリケーションに表示すべく、AdMob のアカウントを登録してみようと思う。

AdMob サイトにアクセス

http://jp.admob.com/

右上の 登録 リンクをクリック

admob01 

アカウント情報を登録

admob02

登録を行うと、確認メールが送信される。

送信されためーるのURLをクリック。

admob03

アカウントが有効化された!

右の「最初のサイトを追加する」をクリック

admob04

アプリケーションタイプの選択

Androidアプリケーションを選択する。

admob05

アプリケーション情報の登録

まだ、公開していないアプリケーションでも、下例のとおり、パッケージ名を指定すれば登録出来る。

market://details?id=<packagename>

admob12

SDKのダウンロード

AdMob Android SDK をダウンロードして、アプリケーションに組み込む必要がある。

手順は、すぐしたにリンクされている PDF にまとめられているが、若干手数がかかる。

こちらにSDKの利用法を簡単にメモ

admob06

広告の収益情報を確認できる様になった

admob07

支払情報の設定

支払を受けるためには、連絡先情報を登録する必要がある

admob08 

admob09 

パブリッシャーID の取得

パブリッシャーID を アプリケーションに組み込む必要があるが、上記で追加したアプリケーションの「設定を管理」をクリックすると、アプリケーション画面にパブリッシャーIDが表示されている。

admob10 

admob11

以上で、AdMob への登録は完了。

アプリケーションへの組込については、こちら にまとめ。

X06HT は、期待通りの結末を迎えて一安心。

最初の Android アプリも完成したので、公開するため、Android Market に登録する。

まず、Android マーケット のページ にアクセスする。ページの下の方に、以下の文言があるので、here リンクにアクセス。

If you are a developer, learn about publishing your application here.

ユーザー登録

ユーザー登録画面で必要事項を入力し、次へ。

android_developer01

Google Checkout アカウントの作成

登録料、$25 を支払う必要があるが、支払には Google Checkout のアカウントを作成する必要があるようだ。

ここの画面から登録し、完了後この画面の続きへ戻ってくることができる。

android_developer02

Google Checkout へ、クレジットカード情報を登録。

android_developer03

登録料 $25 を支払う

現在のレートで 2,000円 ちょっと。ご存じのとおり、この登録料は格安。

iPhone は、年間 $99 だし、Windows Phone なら 年間 $99 + アプリ一本あたり $99 だったかと。

android_developer04 

android_developer05

Android マーケット への登録承認

ここまでで、Android マーケットへの登録が完了。

android_developer06

下の方にある、商用利用登録を行うと、販売が行える様になるようだ。

無料で公開を想定しているが、商用利用登録は難なく行うことが出来た。

android_developer11

銀行口座情報の登録が必要のようだ。今度登録しよう。

android_developer12 

Android アプリをアップロードできる様に

android_developer07

開発者登録を行うと、Android Dev Phone 2が購入可能

android_developer08

android_developer09

裏面がちょっとかわいい。

android_developer10

以上。

Android Market で、スクリーンキャプチャ のアプリケーションを探したりしてが、よく考えたら開発環境からキャプチャできる。

Window - Show View - Other  から、 Devices ビューを開く

android_capture01

リストされた実機を選択して、スクリーンキャプチャ アイコンをクリック

android_capture02

スクリーンキャプチャされる

android_capture03

以上。

※ Windows XP で実機デバッグできない場合はこちらを参照

いや、まちにまった、X06HT Desire よーーーーやく、実機が入手できました。

ここ3日くらいいろいろいじくってたんだけど、かなり使えるやつだ。うん。

 

Desire の入荷を待っていた1ヶ月半の間、いろいろ、サンプルソースを実装してみたりしてたが、搭載センサーのリストを取得したのを題材に実機をPCにUSB接続して実機でデバッグをしてみる。

デバイスドライバのインストール

*USB Driver for Windows

ドライバーは、SDK のコンポーネントとして事前にダウンロード済み

Desire 本体から、 メニュー - 設定 - アプリケーション - 開発 とたどっていき、

  • USBデバッグ
  • スリープを無効にする

のチェックをONにする。

マニュアルを見ると、接続すると、Windows Vista の場合、デバイスを検知して追加ウィザードが出る様なことが書いてあるが、でない。

Windows 7 だからか? と思いつつ、デバイスマネージャーから追加を試みる。

ドライバーソフトウェアの更新を選択し、

android_usb01

<SDK>\usb_driver ディレクトリを指定し

android_usb02

すでにインストールされているようだ。Windows 7 だと勝手にインストールされるのか?もしくは、SDK やら ADT やらの時にインストールされたのか?

まぁいいや。

android_usb02_1

> adb devices で、接続を確認

接続されてる!

android_usb03

Eclipse から サンプルを実行

搭載センサーのリストを取得するプログラムを実行してみる。

プロジェクトのコンテキストメニューから、Debug Configurations を押下

Target タブで、Manual を指定しておく。(デバッグ時に、エミュレータ、実機の選択が可能になる)

android_usb04

プロジェクトのデバッグ(コンテキストメニューから、Debug As -Android Application)

Target 選択画面が開くので、実機を選択

android_usb05

 

実機で起動!

おお、動いた。

というか、めちゃめちゃ早い。こりゃエミュレータ使うのがばからしくなるな。

android_usg06

搭載センサーの一覧

android_usb07

エミュレータで感じるストレスが全くなく、すごく快適だ。

まぁ、ノート-パソコン並みの実機を使ってるのだから当たり前か。

勉強会での発表のねたにし終わったので、こちらにまとめておく。

Android SDK のインストール

http://developer.android.com/sdk/installing.html

前提

Android SDK 1.5 以前を利用している場合は、新しくSDKをインストールし、プロジェクトを移行する必要があるが、SDK 1.6 以降の SDK を利用している場合で最新にしたい場合は、アップデート用のツールが含まれているので、それを使えばよい。

開発用コンピュータ には、JDK をインストールしておき、Android Development Tools(ADT)プラグインを使用するために、Eclipse 3.4 または 3.5 を入れておく。

SDK の入手

SDK は、まず、スターターパッケージをSDKダウンロードページからダウンロードし、必要に応じて SDK コンポーネントをダウンロードし利用する。

android01

SDK を解凍すると、android-sdk-<machine-platform> ディレクトリが作成される。後ほど設定値として利用するので覚えておく。

Android Development Tools (ADT) Eclipse プラグイン

ADT は、Android アプリケーションを構築するための統合環境を提供するよう、Eclipseを拡張する。

上記で、ダウンロードしたスターターパッケージは、最新バージョンの SDK Tools を含むが、適宜追加でコンポーネントをインストールできる。

ただし、どんな Android アプリケーションを開発するには、少なくとも1つのバージョンの「Andorid プラットフォーム」 のインストールが必要。

提供コンポーネント

コンポーネント 内容  
SDK Tools SDK ツールのフルセット。<SDK>/tools/ に開発ガイドあり 基本
Android プラットフォーム Android プラットフォーム向けSDK。システムイメージ、エミュレータスキン、バージョン特定ツール等 基本
Documentation オフラインでAPIリファレンスをEclipseから探すことができる 推奨
SDK アドオン 外部ライブラリ、カスタマイズされたシステムイメージ  
Windows 用 USB ドライバ Windows コンピュータにインストール可能なドライバ 推奨
サンプル サンプルコード 推奨
Google APIs アプリケーションが Maps 外部ライブラリにアクセスできるアドオン  

 

SDK マネージャーの開始

tools\android.bat update sdk

android_sdk_mng01

HTTPS でエラーになるようなので以下のチェックボックスを ON にし、HTTP で強行する。

android_sdk_mng02

インストールコンポーネントを指定してインストールを行う

android_sdk_mng03

Android Development Tools (ADT) Eclipse プラグイン の Eclipse 3.5 へのインストール

http://developer.android.com/sdk/eclipse-adt.html

Help - Install New Software

android_adt01

Available Software ダイアログで、Add を押下

name: Android Plugin
location : https://dl-ssl.google.com/android/eclipse/

android_adt02

ここでも問題が起これば、HTTPS を HTTP として強行する。

Developer Tools を 選択し次へ

android_adt03

あとは、ライセンスに同意し、インストール後、Eclipse を再起動する。

ADT プラグインの設定

Window - Preferences

android_adt04

Android を選択し、上記でメモした インストールした SDK のディレクトリを指定

android_adt05

サンプルアプリケーションの作成

サンプルアプリケーション作成の手順は、こちらにまとめましたので参照ください。