読者です 読者をやめる 読者になる 読者になる
スポンサーリンク

今から1時間で,64ビットWindows 7上にAndroid開発環境を構築し,サンプルを動作させる手順 (※4.x系のSDKを使用)

Android java 環境構築 n分 Eclipse windows 7 64bit

※この記事は,過去の記事をバージョンアップさせたリメイク版です。


Android本体を買わなくても,Androidアプリの開発と動作確認だけなら,無料で可能。

  • アプリの開発環境:EclipseやAndroid SDKを無償で利用できる。
  • アプリの実行環境:エミュレータを無償で利用できる。


以下は,Windows 7 (64bit版)上

Androidアプリの開発環境をゼロからセットアップし,

サンプルアプリケーション(Hello Worldプログラム)を動かすための手順。

開発環境 構築手順

  • (1)JDKの導入
  • (2)Android SDKの導入
  • (3)Eclipseの導入
  • (4)Eclipse上でAndroid SDKをセットアップ


サンプルアプリケーション 動作手順

  • (5)サンプルプロジェクトの作成
  • (6)サンプルアプリの起動
  • (7)おまけ:実機上でのテスト方法

途中,ダウンロードのために通信が発生する。それを含めて,全体で1時間以内



※なお,Windows Vista上のインストール手順は,下記のエントリを参照。

今から1時間で,Androidアプリの開発環境を構築し,Windows上でサンプルを動作させる手順
http://language-and-engineering.hatenablog.jp/entry/20110724/p1

  • OSはWindows Vista 32bit
  • Eclipseは Galileo (3.5) のPleiades日本語パック
  • 2011年7月時点での情報


ちなみに,最初に注意すべき点だが,

もしWindowsのユーザ名が日本語だと,Androidの仮想マシンが起動しない。

最初にユーザ名を日本語で設定してしまうと,後から変えても最初のユーザ名がフォルダ名として残り,利用され続けてしまう。
「ユーザプロファイルの移行」を実施しても無駄。

観念して今までのアカウントを捨て,全角文字を使わずに新規アカウントを作り直すこと。


開発環境 構築手順

(1)JDKの導入

JDKのダウンロードページに遷移。

Java SE Development Kit 7 Downloads

「Java SE Development Kit」の中の,
「Accept Licence Agreement」を押下し,
「Windows x86」の欄のリンクからJDKをダウンロード。(x64ではないので注意。あえて32ビット版を落とす。)


jdk-7u6-windows-i586.exeのようなファイルを保管。


実行。

「Java SE Development Kit インストールウィザードへようこそ」のダイアログが開く。

「次へ」を押下して,インストール先のパスを変更。

※デフォルトでは,C:\Program Files (x86)\Java\jdk1.7.0_06\ みたいにスペースとか括弧とか含んだファイルパスが設定されているが,そんなパスをまともに使おうと思ってはいけない。

D:\dev\java\jdk1.7.0_06\ のような代わりのフォルダを作って,そこを選択する。


「次へ」を押下するとインストール開始。

途中に別ダイアログが出て,JREのインストール先を聞かれるが,これはデフォルトのパスのままで「次へ」を押下。

少しすると,「Java SE Develelopment Kit が正常にインストールされました」となる。

「閉じる」を押下。



PATHを通す。

コンパネ>システムとセキュリティ>システム

で,左サイドバーの「システムの詳細設定」>「環境変数」

から,システム環境変数のPathの末尾に,JDKのbinフォルダのフォルダパスを入力してOK。


新しくコマンドプロンプトを立ち上げて,javacコマンドが動くことを確認。

(※OSの再起動は必要ない。だが,既に起動しているコマプロ上では,環境変数の変更は反映されない。)



参考:

Windows7(x64)上でのAndroid開発環境構築でハマった箇所
http://www.abe3.net/2011/01/android-d...

  • Android SDKのインストーラがチェックしているのは32bit用のJDKなので、64bit版のJDKが入っていても見つからず、エラーとしているためらしい(2011年1月の情報)


Windows7 64bit版にAndroid SDKとEclipse3.6をインストール
http://midnightblue.jp/blog/2011/04/0...

  • 64ビット版のJDKでうまくいっている例。2011年4月の情報

(2)Android SDKの導入

下記ページにアクセス。

右上からLanguagesを選択できる箇所があるので,「日本語」を選択。

※IEだとこの部分のUIが使いづらく,ボックス内で「日本語」を選ぼうとしてドロップダウンの下の方にマウスカーソルを移動すると,ボックス自体が消えてしまう事がある。その場合は,プルダウンにフォーカスを当てた状態で,下キーやエンターキーを使って言語選択する。


「デベロッパーへのお知らせ」画面が開く。

少し下の
「ダウンロード Android SDK には、優れたアプリケーションの作成に必要となるツール、サンプル コード、ドキュメントが含まれています。 」
の部分にあるリンクをクリック。


「Get the Android SDK」の画面になる。
「Download the SDK for Windows」のボタンを押下。


installer_r20.0.3-windows.exe
のようなファイルがダウンロードされる。


適当な場所に設置し,実行。

Nextで「Detect whether Java SE Development Kit is installed.」となり,

インストール済みのJDKのパスが表示される。

※JDKを検出できなかった場合はここでエラーになる。


Next。

Choose Usersは,Install just for meでNext。


Choose Install Locationでは,デフォルトでCドライブのユーザディレクトリが選択されている。

(C:\Users\〜\AppData\Local\Android\android-sdk のように。)

Cドライブに負担をかけたくないので,このパスを変更する。

Eclipseの重さやAndroidエミュレータの重さを知っていれば,当然変えたいと思うだろう。

D:\dev\Android\android-sdk のようなフォルダを作り,そのフォルダパスを入力してNext。


Installを押下。

プログレスバーがCompletedになるので,Nextを押下。

Finishを押下。


ふつうにFinishすると,「Android SDK Manager」が起動する。

このプログラムは,マシン内にインストールされているAndroid SDKを自動的に検出して一覧表示する。

スキャン(fetch)に少し時間がかかるが,表示が完了した時点で,インストール済みのSDKのバージョンにチェックが入っているはずだ。



関連するツール(adb)や,他のAPIバージョンのSDKも入れたいので,

SDK Manager右下の「Install 9 Packages」のようなボタンを押下。



「Choose Packeges to Install」のダイアログで,追加したいパッケージの一覧と各ライセンスが表示される。

「Accept All」を選んで,Installを押下。


ダウンロードが始まり,作業の実行状況がログで表示される。

たくさんログが出るが,下記のような感じで終了する。

・・・

Preparing to install archives
Downloading Android SDK Platform-tools, revision 14
Installing Android SDK Platform-tools, revision 14
Stopping ADB server failed (code -1).
Installed Android SDK Platform-tools, revision 14
Downloading Documentation for Android SDK, API 16, revision 3
Installing Documentation for Android SDK, API 16, revision 3
Installed Documentation for Android SDK, API 16, revision 3
Downloading SDK Platform Android 4.1.2, API 16, revision 3
Installing SDK Platform Android 4.1.2, API 16, revision 3
Installed SDK Platform Android 4.1.2, API 16, revision 3
Downloading Samples for SDK API 16, revision 1
Installing Samples for SDK API 16, revision 1
Installed Samples for SDK API 16, revision 1
Downloading Sources for Android SDK, API 16, revision 2
Installing Sources for Android SDK, API 16, revision 2
Installed Sources for Android SDK, API 16, revision 2
Downloading Google USB Driver, revision 7
Installing Google USB Driver, revision 7
Installed Google USB Driver, revision 7
Downloading ARM EABI v7a System Image, Android API 16, revision 3
Installing ARM EABI v7a System Image, Android API 16, revision 3
Installed ARM EABI v7a System Image, Android API 16, revision 3
Downloading Intel x86 Atom System Image, Android API 16, revision 1
Installing Intel x86 Atom System Image, Android API 16, revision 1
Installed Intel x86 Atom System Image, Android API 16, revision 1
Downloading Mips System Image, Android API 16, revision 2
Installing Mips System Image, Android API 16, revision 2
Installed Mips System Image, Android API 16, revision 2
Downloading Google APIs, Android API 16, revision 3
Installing Google APIs, Android API 16, revision 3
Installed Google APIs, Android API 16, revision 3
Updated ADB to support the USB devices declared in the SDK add-ons.
Stopping ADB server succeeded.
Starting ADB server succeeded.
Done. 10 packages installed.
Done loading packages.

この状態でSDK Managerのプログレスバーが停止したら,ログのウィンドウを×ボタンで閉じる。

×ボタンでAndroid SDK Managerも終了させる。


ここで,インストール対象フォルダ android-sdk の中に,

「platform-tools」というフォルダが新規生成されていることを目視で確認。

そのフォルダの中にadb.exeがある。

Android SDKのアップデート
http://namakemono.6.ql.bz/web/index.p...

  • (初期状態では)adbが見当たりません。adbを探している途中で「adb_has_moved.txt」なんてファイルをみつけましたが、そもそも「Platform-tools」なんフォルダは存在しない
  • アップデートを再度実行すれば解決


Android 開発ガイド > 付録 > 1. Android API レベル
https://sites.google.com/a/techdoctra...

  • Platform VersionとAPI Levelの対応表
  • API Levelの中に,さらに細分化してPlatform Versionがある。例えば,API Level 10をサポートしているプラットフォーム(OSバージョン)は2つあり,Android 2.3.3と2.3.4がある。

後々の事を考えて,このフォルダにPATHを通しておく。
コマンドラインで「adb.exe」などのツールを呼び出す事が多いから。

  • D:\dev\Android\android-sdk\platform-tools

システム環境変数のPathに上記パスを追加したら,新規コマンドプロンプトを立ち上げて,adbコマンドが通ることを確認。



ここまでで,IDEが使う資材はそろった。

次は,IDEそのものを導入する。



(3)Eclipseの導入

入手と起動

ここでは,動作パフォーマンスを考慮して,Indigo (3.7)なおかつ日本語パックであるPleiadesを使う。

Pleiadesのページ掲載のパッケージ別シェアの円グラフを見てわかる通り,本稿執筆時点では3.7の利用比率が最大で,2番手が4.2である。


※バージョン4.2 Junoを選ばない理由:

Pleiades All in One 4.2.1.v20121007 (Eclipse 4.2.1 SR1 Juno for Windows ベース)
http://mergedoc.sourceforge.jp/index....

  • 「注意: Eclipse Juno は環境により長時間使用すると重くなる不具合が報告されています。」


Eclipse Juno のパフォーマンス問題
http://www.infoq.com/jp/news/2012/10/...

  • バージョン3.8に比べて4.2Junoは重く,パフォーマンスの違いがとても大きい。
  • 2012年10月の情報。

以下のページにアクセス。


「Pleiades All in One ダウンロード」
の「3.7 Indigo」をクリック。

Javaの列の

  • Standard All in One (JRE なし)

のDownloadを選択。

ダウンロード。ファイルサイズは400MBぐらい。


適当な場所に解凍。(WinRARなどを使う。)
容量は480MBぐらい。


解凍内容を特定のフォルダ(D:\dev\java など)の配下にコピー。

  • .metadata.default
  • eclipse

※なお常識的な点だが,半角スペースを含むようなフォルダを利用してはいけない。C:\Program Filesとか。



eclipse.exeを起動。初回起動は時間がかかる。

ワークスペースを聞かれるので,eclipseフォルダと並ぶ位置を指定。

  • D:\dev\java\workspace

「この選択をデフォルトとして使用し,今後この質問を表示しない」にチェック。
OKを押下。

eclipse本体が開く。

JREの設定

Eclipse上で
ウィンドウ→設定→Java→「インストール済みのJRE」で,
もしjdkではなくjreが標準VMになっている場合,
jdkを標準VMに設定しなおす。

追加ボタンを押下。

JREの型として「標準VM」を選択し「次へ」を押下。

「JREの追加」ダイアログで,JREホームとしてJDKのホームディレクトリを入力。

  • D:\dev\java\jdk1.7.0_06

すると,「JRE名」「JREシステムライブラリー」の欄が自動的に埋まる。

「完了」を押下。

「インストール済みのJRE」ダイアログ上で,
いま追加したJDKにチェックを入れて「OK」を押下。


参考:

Eclipse−1.インストール
http://www.javaroad.jp/opensource/js_...

  • EclipseのJavaVMの設定がJREではなく、JDKになっていることを確認します。JDKを指定することにより、より詳細なコーディング情報を得ることができます。
  • 標準VMの項目がJREへのパスになっている場合はJDKのパスに変更します。「編集」ボタンをクリックし、「JRE名」項目と「JREのホーム・ディレクトリー」項目の値を変更します。

(4)Eclipse上でAndroid SDKをセットアップ

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

Eclipse上で,ヘルプ→新規ソフトウェアのインストール を選択。
インストールダイアログ上で,「作成対象」の右の「追加」ボタンを押下。


サイトの追加ダイアログ上で,名前に「Android」,
ロケーションに「https://dl-ssl.google.com/android/eclipse/」を入力。

OKを押下。


「フィルター入力」欄の下に「保留中」と表示され,
Eclipse本体の右下にプログレスバーと共に「Androidの子を取り出し中」と表示される。


しばらく(数秒〜1分)待つと,

「開発ツール」というチェックボックスが現れるのでチェックして,「次へ」を押下。

(NDK Pluginsのチェックボックスは無視する。)


「要件および依存関係を計算」のプログレスバーが表示されて,数秒〜数分ほど時間がかかる。


インストール詳細ダイアログが開く。

こんな項目が表示されている。

  • Android DDMS com.android.ide.eclipse.ddms.feature.group
  • Android 開発ツール com.android.ide.eclipse.adt.feature.group
  • Android 階層ビューアー com.android.ide.eclipse.hierarchyviewer.feature.group
  • Android トレースビュー com.android.ide.eclipse.traceview.feature.group
  • Tracer for OpenGL ES com.android.ide.eclipse.gldebugger.feature.group

「次へ」を押下。

ライセンスが表示されるので、「使用条件の条項に同意します」を選択した上で,
「完了」を押下。


しばらく待つ。
Eclipse本体の下部に,インストールの進捗状況が表示される。


突然,セキュリティダイアログとして

警告:署名なしコンテンツを含むソフトウェアをインストールしています。
このソフトウェアの真正性または妥当性を実証できません。
インストールを続行しますか?

と表示される。

OKを押下。

インストール変更内容を有効にするには,Eclipseを再始動する必要があります。
再開せずに,変更を適用することができますが,問題が発生する可能性があります。

のダイアログが表示される。

(Pleiadesなので)再起動はせずに,変更だけ適用する。

Eclipse本体を閉じ,終了させる。


プラグインの追加を反映したうえで最適化してEclipseを起動するために,

  • 「D:\dev\java\eclipse\eclipse.exe -clean.cmd」

というcmdファイルをダブルクリックして実行。


Eclipse本体が安全に再起動する。


※参考:

Android開発環境の構築 Eclipse編
http://sky.geocities.jp/izeefss/devel...
Pleiadesのドキュメントでは、新規Pluginインストール後は、[eclipse.exe -clean]を実行して起動を最適化するようにとの記載がある。

プラグインの設定

Eclipse本体で,ウィンドウ→設定→Android を選択。

Android設定の「SDKロケーション」右の「参照」ボタンを押下。

SDKの場所を入力。

  • D:\dev\Android\android-sdk

(※ただし,パスを手入力すると「OK」ボタンが有効にならない。「参照」ボタンを使ってパスを選択する必要がある。)

OKを押下。


Eclipseのメニューショートカットを設定

ウィンドウ→パースペクティブのカスタマイズ から,
「ショートカット」タブを選択。

サブメニューを「新規」にして,
ショートカット・カテゴリーの「Android」にチェック。

「OK」を押下。


参考:

Android 開発環境
http://server-free.com/android/devenv...

  • メニューのカスタマイズ:「ファイル」→「新規」でAndroidプロジェクトが表示されるように設定します。


Android SDK & Eclipse 覚書
http://jumbuck.cocolog-nifty.com/blog...

  • 「新規」のところに「Android Project」を出しておく方法です。デフォルトだと「Javaプロジェクト」と「プロジェクト」だけでAndroid系のプロジェクトを作るのがちょっと面倒

Androidアプリの開発環境の構築が完了した。

次に,この環境を使ってサンプルを動かす。


※サンプルコードは,Androidドキュメントに掲載されているものを改変している。

Technical Resources / チュートリアル / Hello, World
http://developer.android.com/intl/ja/...

  • デベロッパーにとって、開発フレームワークの第一印象は、どれだけ簡単に「Hello, World」を記述できるかで決まります。Android では、非常に簡単に記述できます。総合開発環境として Eclipse を使用している場合には、開発は特に簡単です。

サンプルアプリケーション 動作手順

(5)サンプルプロジェクトの作成

もしWindows Vistaの場合は,ここでいったんEclipseを閉じて
eclipse.exe を「管理者として実行」し,起動し直すこと。
(そうしないと,プロジェクトのビルド時にフォルダアクセスの権限不足でエラーになる恐れがある。)


Windows 7のタスクバーに配置したい場合は,
まずeclipse.exeのショートカットをつくり,プロパティの詳細設定から「管理者として実行」にチェックして,
そのショートカットをタスクバーにドラッグ。



Eclipse本体のメニューバーから,
ファイル→新規→Android Application Project を選択。

「New Android App」ダイアログ上で,
Project Nameとして「AndroidHelloWorld」と入力。

アプリケーション名に「com.example.androidhelloworld」と入力されている。
警告は無視する。


ビルド・ターゲットとして,
現時点で「まず無難である」と言い切れるバージョンとして
「Android 2.3.3」にチェック。


参考:

Android OSのバージョン別シェア、過半数が「Android 2.3」(2012年10月)
http://www.itmedia.co.jp/promobile/ar...

  • 「Android 4.0.3」および「Android 4.0.4」(Ice Cream Sandwich)は24%に達しているものの、いまだにGingerbreadこと「Android 2.3」が過半数を占める

Build SDKとして,API 16が選択されている。

Minimum Required SDKとして,API 10が選択されている。

「次へ」を押下。


Configure Launcher Iconとして,アプリのアイコンをカスタマイズできる。

初回なので何もしないで「次へ」を押下。


Create Activityの画面になる。

BlankActivityが選択された状態で,「次へ」を押下。


New Blank Activityの設定ダイアログになる。

ここも,とりあえずそのままで「次へ」を押下。


「Install Dependencies」のダイアログになる。

もし,特定のバージョンのSDKをインストールするように促されたら,

「Install/Upgrade」を押下。

Android SDKマネージャーが,プロジェクトに必要なバージョンのSDKをインストールしてくれる。

その際,確認ダイアログでは「すべて受諾」してインストールする。

その後「完了」を押下。


これで,プロジェクトが作成され,アクティビティとレイアウトの雛形も生成される。



Eclipse本体の左ペインの「パッケージ・エクスプローラ」から,
AndroidHelloWorld→src→com.example.androidhelloworld→MainActivity.java
を選択してダブルクリック。


エディタ上に,下記のようなコードが表示される。

package com.example.androidhelloworld;

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

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

特に手は加えないでおく。


(6)サンプルアプリの起動

パッケージエクスプローラで,
MainActivity.javaにカーソルをあてる。


Eclipse本体のメニューバーの「実行」→「実行」を選択。

「次を実行」ダイアログ上で,「Androidアプリケーション」を選択。

「OK」を押下。


Android仮想マシンの設定がまだなので,
「No compatible targets were found. Do you wish to add a new Android Virtual Device?」
というダイアログが出る。

「はい」を押下。

※Android Virtual Device(AVD)とは,Androidアプリが動作するための仮想マシンのこと。


「Android Device Chooser」のダイアログ上で,
「Launch a new Android Virtual Device」を選択。

まだ仮想マシンが無いので,No AVD Availableと表示される。

「マネージャー」を押下。


「Android Virtual Device Manager」ダイアログが開く。

「新規」を押下。


「新規Android仮想デバイスの作成 (AVD)」のダイアログ上で,
名前に「my_avd」と入力。

ターゲットとして「Android 4.1.2 - API Level 16」を選択。
(これは,このAndroidアプリのプロジェクトを作る際に指定したBuild用API Levelと同じである。)

CPU/ABIとして「armeabi-v7a」を選択。


「AVDの作成」ボタンを押下。

AVDの一覧に追加される。


※押下しても,何も起きない場合がある。
その場合,押下するたびに毎回,Eclipse本体のコンソールログに

  • 「Unable to find a 'userdata.img' file for ABI armeabi to copy into the AVD folder.」

と表示されていたりする。
原因は2通り考えられる。

  • SDKマネージャから「ARM EABI v7a System Image」をインストールし忘れている。
  • CPU/ABIの項目が空欄のままAVDを作成しようとしている。

「Unable to find a 'userdata.img' file for ABI armeabi to copy into the AVD folder.」というエラーの対処法
http://d.hatena.ne.jp/nakamura001/201...

  • 4.0以降で発生しうるエラー


How do you create or find a “userdata.img” file for ABI armeabi to copy into the AVD folder
http://stackoverflow.com/questions/10...

  • in the end i found out, that i didn't made a choice in the CPU/ABI


ABI
http://ja.wikipedia.org/wiki/Applicat...

  • Application Binary Interface。CPUの命令セットみたいな概念。EABIは組み込みシステムの場合。


これでAVDができたので,「Android Virtual Device Manager」のダイアログを閉じる。

「Android Device Chooser」のダイアログ上で「リフレッシュ」を押下。

先ほど作成したAVDが表示されるので,選択して「OK」を押下。



正常にAVDを起動できた場合,数秒すると「5554:(AVD名)」というウィンドウが現れ,
エミュレータが表示される。

左側に端末画面,右側に端末キーボードが表示される。

このエミュレータは,Eclipseとは別プロセスである。


※「5554」とは,AVDが利用するポート番号。下記URLを参考。

Androidエミュレータについて
http://tech.cm55.com/wiki/Android/Emu...

  • AVDは単にJavaコードを実行するのではなく,QEMUを使って実機のCPUをエミュレートする。根本的にCPUの命令セットが異なるので,エミュレータ動作時のCPUの負荷は大きい
  • エミュレータの使用するポートは5554から2刻み。telnet経由で接続できる
  • AVDはハードウェア的な仮想化であるが,その内部ではadb(Android Debug Bridge:ソフトウェアデバッガ)が動作可能で,デバイス中のlinuxシェルを操作できる


少し待つと,エミュレータの画面上にHOMEが表示される。

そしてさらに待つと,実行したいサンプルアプリが自動起動する。

「MainActivity」というタイトルのもと,
白い背景に黒字で,
念願の「Hello, World!」が表示される。



だいたい同時に,「Auto Monitor Logcat」のダイアログが起動し,
logcatを自動的に利用するかと聞かれる。
これはYesを選択しておく。


起動に至るまでの,Eclipseのコンソールログ:

[AndroidHelloWorld] New emulator found: emulator-5554
[AndroidHelloWorld] Waiting for HOME ('android.process.acore') to be launched...
[AndroidHelloWorld] HOME is up on device 'emulator-5554'
[AndroidHelloWorld] Uploading AndroidHelloWorld.apk onto device 'emulator-5554'
[AndroidHelloWorld] Installing AndroidHelloWorld.apk...
[AndroidHelloWorld] 成功!
[AndroidHelloWorld] Starting activity com.example.androidhelloworld.MainActivity on device emulator-5554
[AndroidHelloWorld] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.androidhelloworld/.MainActivity }

ここで,いま実行されているサンプルアプリの実体を確認してみる。

Windowsのエクスプローラから,Eclipseの該当ワークスペースのbinフォルダを開くと,下記のようなファイルがある。

D:\dev\java\workspace\AndroidHelloWorld\bin

  • AndroidHelloWorld.apk (アプリケーション本体。配布用のファイル)
  • classes.dex (JavaのclassファイルをAndroid用に変換したもの)
  • resources.ap_ (ソースコード以外のリソースをまとめたもの)

※.apkとresources.ap_はいずれもzipフォーマットのファイルであり,拡張子を変えれば中身を閲覧できる。


参考:

.apkファイルとは:Android Developers / 開発の基礎
http://developer.android.com/intl/ja/...

  • Android パッケージは、拡張子が .apk のアーカイブ ファイル。ユーザーは、このファイルをデバイスにダウンロードして利用する。
  • 1 つの .apk ファイルに含まれているすべてのコードが、1 つのアプリケーション


.dexファイルとは:Androidの仕組みを知る(2) Android Runtimeとアプリケーション・フレームワーク
http://itpro.nikkeibp.co.jp/article/C...

  • Dalvik VMが実行するのは,「Dalvik Executable(DEX)」と呼ばれる独自形式のバイナリ・プログラム
  • 開発者はDEXの作成を意識しないでよい。「dx変換ツール」がJavaのクラス・ファイルからDEXに自動で変換する


resources.ap_ファイルとは:What is resources.ap_
http://stackoverflow.com/questions/49...

  • The resource.ap_ is all the resources for you file zipped up. Everything from the res, assets folders and the Manifest file.
  • Both of these files are in .zip format. They can easily be view by changing the extension to .zip and opening them.

また,

  • D:\dev\java\workspace\AndroidHelloWorld\bin\com\example\androidhelloworld

というフォルダの中には,javaのクラスファイルが格納されている。



ここまでわかったら,エミュレータを閉じてサンプルアプリを終了する。


Eclipseも閉じて,本作業はおひらき。


(7)おまけ:実機上でのテスト方法

念のため,エミュレータを使わないデバッグ方法も述べる。

もし端末とUSBケーブルを持っている場合,すぐに実機上でも動作確認できる。


端末上で
設定→アプリケーション→提供元不明のアプリ にチェック。

設定→アプリケーション→開発→USBデバッグ にチェック。

設定→アプリケーション→開発→スリープモードにしない にチェック。



次に,PC上にUSBドライバをインストール。

端末のメーカやモデルごとにドライバを入れる必要があり,結構面倒。

PCと実機をUSBケーブルでつなぐ。

USBドライバが自動認識されれば,それでよし。
自動認識されなかった場合は,個々のメーカのUSBドライバ認識手順に従って手動で設定。



Eclipse上で,メニューバーの実行→実行構成 で「実行構成」ダイアログが出る。

「ターゲット」タブ上で,「手操作」を選択し「適用」を押下。

「実行」を押下。



「Android Device Chooser」ダイアログが出る。

上の欄が実機。下の欄がエミュレータ。

対象となる実機を選択し,OKを押下。



すぐに,PCから実機へアプリが転送される。

そして自動的に実機上で該当アプリが起動される。

(エミュレータと比べると非常に速いので,感動するだろう。)


コンソール上には,下記のようなログが出る。

Android Launch!
adb is running normally.
Performing com.example.HelloAndroidActivity activity launch
Uploading HelloAndroid.apk onto device '(端末ID)'
Installing HelloAndroid.apk...
成功!
tarting activity com.example.HelloAndroidActivity on device (端末ID)
ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example/.HelloAndroidActivity }


実機でのデバッグの速さを一度経験すると,エミュレータを手放したくなる。


補足

古いバージョンのEclipseプラグインとは,若干使い勝手が異なっている。


例えば,画面キャプチャを撮る方法が最初分からないかもしれない。

実機端末のスクリーンショットを取得するには,DDMSパースペクティブを開き,

ウィンドウ>ビューの表示>Devices で該当デバイスを選択し,カメラのアイコンを押下すればよい。





関連する記事:

Androidアプリ開発作業時に,頻繁に参照するサイトのリンク集
http://language-and-engineering.hatenablog.jp/entry/20121116/AndroidAppsDevel...


WebアプリとAndroidアプリのアナロジー (「Androidのアレは,Webで例えるなら○○だ」)
http://language-and-engineering.hatenablog.jp/entry/20110813/p1


Androidでライブラリ・プロジェクトを作成し,Eclipse上でコードを共有しよう
http://language-and-engineering.hatenablog.jp/entry/20130116/AndroidLibraryPr...


AndroidのUIで,レイアウトXMLの記述を簡素にするための,7つの基礎知識
http://language-and-engineering.hatenablog.jp/entry/20121114/SimpleAndroidLay...


今から5分で,開発中のAndroidアプリを単体テストしよう (JUnitで自動テストする方法)
http://language-and-engineering.hatenablog.jp/entry/20130121/UnitTestOfAndroi...


Androidアプリをマーケットに公開する方法の作業手順メモ (リリース時とアップグレード時のチェックリスト)
http://language-and-engineering.hatenablog.jp/entry/20120310/AndroidMarketRel...


android-mvc-framework - AndroidのMVCフレームワーク - 「Android-MVC」
http://d.hatena.ne.jp/language_and_engineering/archive?word=*[Android-MVC%20framework]


※2013年追記:エントリのURLをスペルミスして「Adnroid」にしてしまった…orz