Google Android用携帯アプリ作成のための基礎知識:小山博史のJavaを楽しむ(9)(4/5 ページ)
教育界、技術者コミュニティでJava言語の教育と啓蒙に長年携わってきた筆者が、独自の視点からJavaの面白さを掘り下げていく。(編集部)
Androidアプリ開発に便利なツール一覧
さて、簡単なアプリケーションを作るには、これだけでもいいのですが、本格的な開発をしようと考えたら、SDKについて、もう少し理解しておく必要があります。
ツール名/コマンド | 概要 |
---|---|
ddms | Eclipseを使わないデバッガ |
appt | 圧縮ファイルの中身を表示・作成・更新 |
aidl | リモート・インターフェイスを定義 |
mksdcard | 仮想SDカードを作成 |
dx | .classファイルをAndroid実行用バイナリコードに変換 |
activityCreator | Eclipseを使わずにアプリのひな型を自動生成 |
adb | デバイスやエミュレータの状態を管理 |
adb devices | 実行中のエミュレータの一覧を表示 |
adb shell | エミュレータのデーモンへ接続してシェルを起動 |
dalvikvm | AndroidのJava実行環境の情報が分かる(adb shell内で実行) |
netcfg | ネットワークの状態を確認(adb shell内で実行) |
sqlite3 | Android付属のDBをSQLで操作(adb shell内で実行) |
adb kill-server | adbのデーモンを停止 |
表 SDK付属のAndroidアプリ開発に便利なツール一覧(インデックスになっています) |
Eclipseを使わないデバッガ、ddms
Eclipseを使っていると、デバッグも普通のJavaプログラムと同じような感じで行うことができますが、そうでない場合は、「ddms(Dalvik Debug Monitor Service)」が役に立ちます。
エミュレータの画面キャプチャを取る機能などもあるので、Eclipseを使っている開発者も知っておいて損はないでしょう。実行した画面イメージは図14のとおりです。先に「ddms」を起動しておいてから、emulatorコマンドでエミュレータを起動しました。
起動したエミュレータの情報が左上の領域に表示されていて、エミュレータで動作しているアプリケーションの情報がその下の領域に表示されていることが分かります。その情報から、アプリケーションのデバッグポートがそれぞれに用意されていることが分かります。
Logの領域には、ログ情報が表示されています。
圧縮ファイルの中身を表示・作成・更新するaapt
「aapt(Android Asset Packaging Tool)」を使うと、Zip互換のアーカイブファイル(zipやjar、apk)の中身の表示や作成、更新ができます。
また、リソースをバイナリへコンパイルすることもできます。
リモート・インターフェイスを定義するaidl
リモートから接続して使うようなアプリケーションを作成するに当たっては、「aidl」を使ってリモート・インターフェイスを定義できます。
「aidl」は、IDL(Interface description language)の一種です。各アプリケーションはそれぞれのプロセス上で動作しますから、ほかのプロセス上で動作するアプリケーションと連携させたい場合には、プロセス間通信などが必要で、単純には実現できません。aidlツールは、この実現を支援するツールです。
仮想SDカードを作成するmksdcard
「mksdcard」は、エミュレータにロード可能なFAT32のSDカードの仮想ディスクイメージを作成するためのツールです。
.classファイルをAndroid実行用バイナリコードに変換するdx
「dx」は.classファイルからAndroid用バイトコードであるDalvik VM(Androidプラットフォーム用のカスタムVM)用の実行ファイル(.dex)を生成するために使います。ディレクトリを対象とすることもできます。
Eclipseを使わずにアプリのひな型を自動生成するactivityCreator
Windows用には、「activityCreator.bat」というバッチプログラムが、LinuxとMac OSX用には「activityCreator.py」というPythonスクリプトが用意されています。これらを使うと、Eclipse+ADTプラグインを使わなくても、Androidアプリケーションのひな型を生成できます。
コマンドプロンプトを表示して、カレントディレクトリをC:\application\android_sdk\toolsとします。例えば、次のようにコマンドを入力すると、Eclipseの新規プロジェクト作成のウィザードで作成するのと同様にSampleAndroid1ディレクトリが出来上がります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
以上で分かるように、SDKには有用なツールが含まれています。これらの情報へは、基本的に、SDKに含まれている「documentation.htmlファイル」からたどることができます。
最後にもう1つだけ、役立つツールを紹介します。デバイスやエミュレータの状態を管理するadbです。
デバイスやエミュレータの状態を管理するadbツール
「adb(Android Debug Bridge)」を使うと、デバイスやエミュレータの状態を管理できます。これにより、Androidをデバッグしたり、エミュレータの設定を変更したりすることができるわけです。このコマンドを開始すると、TCPポート5037を使用するデーモンが起動します。
実行中のエミュレータの一覧を表示するadb devices
実行中のエミュレータの一覧を表示するには、コマンドプロンプトで「adb devices」と入力します。実行結果から、1つのエミュレータが動作していて、TCPの5555番ポート経由でtelnet接続できるということが分かります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
エミュレータへ接続してシェルを起動するadb shell
通常は「adb shell」を使ってエミュレータへ接続します。接続してみると分かりますが、中身はLinuxなので、Linuxを使ったことがあればいろいろと調べることができます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
adb shell上では、いろいろなコマンドを使うことができます。ちょっと紹介しておきましょう。
AndroidのJava実行環境の情報が分かるdalvikvm
adbのシェルを起動して、「dalvikvm -showversion」というコマンドを使うことにより、Dalvik VMのバージョンを確認できます。Dalvik VMはまだ0.2.0ということでバージョンはまだまだ低いです。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ネットワークの状態を確認するnetcfg
ネットワークの状態を確認するには、netcfgコマンドを使います。なお、大抵のコマンドはsystem/binにありますから、どんなコマンドがあるのか、lsなどで調べてみるといいでしょう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Android付属のDBをSQLで操作するsqlite3
Android SDKには、DBソフトウェアのSQLite 3.5.0が付いています。adbを使って、エミュレータに接続すると、sqlite3コマンドを使って直接DBを操作できます。
アプリケーションが使用するDBのファイルは、「/data/data/パッケージ名/databases/」にあります。SQLのCREATE文やSELECT文といった命令だけでなく、「.dump」コマンドや「.schema」コマンドも使用できます。
終了するには、「.exit」コマンドを使います。DBを使うアプリケーションを作成したときには、直接DBを操作して確認したいはずです。そんなときに利用しましょう。
例では、items DB(items.db)を用意し、そこへitemsテーブルを作成して、レコードの挿入、選択をしています。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
adbのデーモンを停止するには?
adbのデーモンを停止するためには、別のコマンドプロンプト画面を表示して、「adb kill-server」というコマンドを使います。
最後に次ページでは、Androidのパッケージを覗いてみました。実にさまざまな技術が使われています。
Copyright © ITmedia, Inc. All Rights Reserved.