2013/04/25 現在。install 手順が大幅に変わりました。非常に簡単です。こちら
以下は下記の install 手順を説明したものです。2012/11/10 現在の内容となっています。
環境設定の手順。Windows および Mac OS X, Linux 。詳しくは http://developer.android.com/sdk/index.html を参照
以下、NDK が必要な場合のみ。
PC に実機を接続してデバッグするには adb driver が必要。
たいていは端末メーカーから提供されている。
もしなければ自分で inf に追加できる。1)
; NVIDIA Tegra2 (LuvPad AD100) %SingleAdbInterface% = USB_Install, USB\VID_0955&PID_7000 %CompositeAdbInterface% = USB_Install, USB\VID_0955&PID_7100&MI_01 ; ; Creative ZiiO7 %SingleAdbInterface% = USB_Install, USB\VID_2350&PID_0102 %CompositeAdbInterface% = USB_Install, USB\VID_2350&PID_0102&MI_01 ; ; Creative ZEN Touch2 %SingleAdbInterface% = USB_Install, USB\VID_041E&PID_4166 %CompositeAdbInterface% = USB_Install, USB\VID_041E&PID_4166&MI_01 ; ; Samsung Galaxy S2 (SC-02C) %SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_685E %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_685E&MI_03 ; ; SHARP IS03 %SingleAdbInterface% = USB_Install, USB\VID_04DD&PID_939a %CompositeAdbInterface% = USB_Install, USB\VID_04DD&PID_939a&MI_01 ; ; Acer ICONIA TAB A500 %SingleAdbInterface% = USB_Install, USB\VID_0502&PID_3341 %CompositeAdbInterface% = USB_Install, USB\VID_0502&PID_3341&REV_9999&MI_01 ; ; HTC EVO 3D (ISW12HT) %SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0CBA %CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0CBA&MI_01 ; ; Life Touch NOTE (NA75W/1A) %SingleAdbInterface% = USB_Install, USB\VID_0409&PID_0301 %CompositeAdbInterface% = USB_Install, USB\VID_0409&PID_0301&MI_01 ; ; Novo7 Paladin %SingleAdbInterface% = USB_Install, USB\VID_18d1&PID_dddd %CompositeAdbInterface% = USB_Install, USB\VID_18d1&PID_dddd&MI_01 ; ; Kindle Fire %SingleAdbInterface% = USB_Install, USB\VID_1949&PID_0006&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_1949&PID_0006&REV_00216&MI_01 ; ; SXZ-PD10 %SingleAdbInterface% = USB_Install, USB\VID_18d1&PID_deed %CompositeAdbInterface% = USB_Install, USB\VID_18d1&PID_deed&MI_01 ; ; Thanko ANDHDM2S %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0002 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0002&MI_01
ベンダーコード、プロダクトコードはデバイスマネージャーを見ればわかるので、任意のデバイスを上と同じ要領で追加できる。
プロパティ → 詳細 → Hardware Ids
VID_ 以後の番号だけ追加する。(adb_usb.ini が存在しない場合は不要です)
0x0955 0x2350 0x041e 0x0bb4 0x04e8 0x04dd 0x0409 0x054c 0x1949
PC に接続されているデバイスを管理するためのコマンドが ddms。
eclipse からも起動できるが、コマンドから直接実行も可能。
接続されているデバイスの情報、コンソール、ファイルシステムの操作、等が可能。
eclipse の場合、任意の perspective にウィンドウとして個別に追加できる。
コマンドラインツール adb で直接ターゲットを操作することも可能。 これを使えば直接 android 端末にリモートログインもできる。
よく使うコマンド
adb devices | 接続されているデバイスの情報を一覧表示。デバイス名の参照。 |
adb shell | シェルログイン |
adb shell コマンド | 端末上でコマンドを実行する。adb shell cat /proc/cpuinfo など。 |
adb push PCのファイル 端末のパス | ファイルを端末に転送する |
adb pull 端末のファイル PCのパス | 端末のファイルを取り出す |
adb install インストールするAPK | apk ファイルを直接インストールする |
adb uninstall パッケージ名 | パッケージを uninstall する |
実機がなくても Android Virtual Device (AVD) を使うことができる。
Start を押すと起動する。
Intel System Image について
SDK sample のプロジェクト作成
ビルド&実行方法
NDK Sample のプロジェクト作成
ビルド&実行方法
デバッグ方法
ソースコードのパースエラーが出る場合の対処方法
アプリケーションからの出力メッセージは LogCat に入る。
DDMS をひらいてターゲットを選択すると見える。または Devices ウィンドウで選択する。
Windows よりも手順は少なくてすみます。
上記端末はすべて USB ケーブルでつなぐだけで認識できました。
上記端末はだめでした。
使い方は Windows と全く同じです。
サンプルのプロジェクト作成方法、NDK のビルドも Windows 版と全く同じ手順で出来ます。
cygwin の代わりに普通のコンソールを開きます。 sdk や ndk の各コマンドのフォルダにパスを通しておく必要があります。
Mac OS X の手順と全く同じです。 Ubuntu 10.10 x86 (32bit) 及び x64 (64bit) の両方で試しましたが全く同じように install 可能です。
ディストリビューション依存ですが Eclipse はパッケージ化されているため、install 手順もさらに簡単になっています。
Linux の場合は比較的簡単で、特に adb driver を用意する必要がなく端末を接続できます。
Ubuntu を想定しています。
定義ファイルの例
## /etc/udev/rules.d/51-android.rules # Huawei SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", MODE="0666" # HTC SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666" # NVIDIA SUBSYSTEM=="usb", SYSFS{idVendor}=="0955", MODE="0666" # Zii SUBSYSTEM=="usb", SYSFS{idVendor}=="2350", MODE="0666" # Zen SUBSYSTEM=="usb", SYSFS{idVendor}=="041e", MODE="0666" # Samsung SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
試した結果 ZiiO7 は接続できませんでした。 Mac OS X と同じように ZEN Touch 2 もつながらないかもしれません。
未検証
Windows/MacOS X/Linux 共通です。
現在のワークスペースに読み込みます。
このエラーは Android SDK の API Level とは関係ないようです。
Eclipse を一度起動しなおしすと直ります。