環境設定の手順。Windows および Mac OS X, Linux 。詳しくは http://developer.android.com/sdk/index.html を参照
Android SDK (Java, RenderScript) と Android NDK (C/C++) の 2種類あります。
| SDK | 言語 | Update |
|---|---|---|
| Android SDK | Java | 一度インストールするだけでよく、更新はツール内から行うことができます。 |
| Android NDK | C/C++ | アーカイブファイルです。更新のたびにパッケージごとダウンロードし直す必要があります。 |
Java の統合開発環境も 2種類ありますが、今後は AndroidStudio が標準として用いられていくことになります。
| IDE | |
|---|---|
| Android Stuido | 最初から Android 専用にカスタマイズされておりわかりやすい。 |
| Eclipse + ADT | 長く使われているため情報が多い。Android 以外の用途と共存可能。 |
新規 install 手順と全く同じです。 新しいバージョンのアーカイブを落として置き換えます。
eclipse, ADT, Platform SDK が同梱されるようになったので以前よりも簡単になりました。 Windows, MacOS X, Linux 共通です。
今後新しい Android SDK がリリースされてもも SDK Manager 上で更新&追加するだけで OK です。
ADT Plug-in が更新できないケースが何度か発生しています。 もし更新エラーになる場合は、修正されたパッケージが再配布されている場合があるので adt-bundle-〜.zip を再ダウンロードしてください。
新規 install 手順と全く同じです。 新しいバージョンのアーカイブを落として置き換えます。
古いインストール手順の解説。 eclipse, ADT を個別に install しています。
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 ; ; LG L-06C %SingleAdbInterface% = USB_Install, USB\VID_1004&PID_61F9 %CompositeAdbInterface% = USB_Install, USB\VID_1004&PID_61F9&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 ; ; dtab 01 %SingleAdbInterface% = USB_Install, USB\VID_12D1&PID_0360 %CompositeAdbInterface% = USB_Install, USB\VID_12D1&PID_0360&MI_01 ; ; MOMO7 %SingleAdbInterface% = USB_Install, USB\VID_2207&PID_0010 %CompositeAdbInterface% = USB_Install, USB\VID_2207&PID_0010&MI_01 ; ; Tegra Note 7 P1640 %SingleAdbInterface% = USB_Install, USB\VID_0955&PID_CF00 %CompositeAdbInterface% = USB_Install, USB\VID_0955&PID_CF00&MI_01 ; ;LG G Watch %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_D002 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_D002&MI_01 ; ;ASUS MeMO Pad ME176 %SingleAdbInterface% = USB_Install, USB\VID_0B05&PID_5507 %CompositeAdbInterface% = USB_Install, USB\VID_0B05&PID_5507&MI_01
ベンダーコード、プロダクトコードはデバイスマネージャーを見ればわかるので、任意のデバイスを上と同じ要領で追加できる。
プロパティ → 詳細 → Hardware Ids
VID_ 以後の番号だけ追加する。(adb_usb.ini が存在しない場合は不要です)
0x0955 0x2350 0x041e 0x0bb4 0x04e8 0x04dd 0x0409 0x054c 0x1949 0x0b05
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 ウィンドウで選択する。
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 を一度起動しなおしすと直ります。