目次
Android SDK/NDK インストール手順
環境設定の手順。Windows および Mac OS X, Linux 。詳しくは http://developer.android.com/sdk/index.html を参照
SDK の種類
Android SDK (Java, RenderScript) と Android NDK (C/C++) の 2種類あります。
SDK | 言語 | Update |
---|---|---|
Android SDK | Java | 一度インストールするだけでよく、更新はツール内から行うことができます。 |
Android NDK | C/C++ | アーカイブファイルです。更新のたびにパッケージごとダウンロードし直す必要があります。 |
- 通常のアプリ開発は SDK だけで十分です。
- C/C++ を用いる場合は SDK に加えて NDK もインストールします。
開発ツール (IDE) の種類
Java の統合開発環境も 2種類ありますが、今後は AndroidStudio が標準として用いられていくことになります。
IDE | |
---|---|
Android Stuido | 最初から Android 専用にカスタマイズされておりわかりやすい。 |
Eclipse + ADT | 長く使われているため情報が多い。Android 以外の用途と共存可能。 |
Host OS の種類
- Windows, Mac OS X, Linux どの OS 上でも開発できます。使用できるツールや環境に特に違いはありません。
- NDK を使用する場合の注意点
- IDE から呼び出す NDK のビルドコマンドは、パスの関係上 Windows ではトラブルが起きやすく安定しない場合があります。上手く動かない場合は他の OS でテストしてみることをお勧めします。
- Windows で NDK のビルドを行うと非常に低速になる場合があります。HOST OS が 64bit の場合はできるだけ 64bit 版のツールを組み合わせてください。
Android Studio を使用する場合
Android Studio の install
- JDK install
- Windows の場合 JDK を install しておきます。
- 下記から install 。JRE は不要。
- 64bit OS の場合 jdk-7u21-windows-x64.exe など (ファイル名は version によって異なる)
- install したら jdk の bin を PATH に登録します。例: C:\Program Files\Java\jdk1.7.0_21\bin (名前は version にあわせて変更する)
- 環境変数 JAVA_HOME に jdk のパスを登録します。例: C:\Program Files\Java\jdk1.7.0_21 (パスは version にあわせて変更する)
- Linux も JDK install が必要です。
- Android Studio を install してください。
- 上記よりダウンロードしインストールします。
- Windows : ダブルクリックでインストーラが起動します
- Mac OS X : ダブルクリックした後 Application フォルダにドラッグします
- Linux : zip を展開して任意の場所に置いてください
- Android Studio を起動します。
- Windows / Mac OS X は Start Screen / Launcher 等からアイコンを選ぶだけです。
- Linux はコマンドラインからインストールフォルダの android-studio/bin/studio.sh を実行します。
- Android Studio の Setup Wizard
- Setup Wizard が立ち上がるので、BuildTool など必要なツール類を落とします。
- Android Studio Setup (Welcome to Android Studio 画面)
- 初期メニューが表示されるので、追加で必要な SDK をダウンロードできます。あとから必要になったタイミングで追加しても構いません。
- Configure → SDK Manager
- SDK Manager 利用時の注意: BuildTool の更新中に AndroidStudio の終了を促される場合があります。その場合は一旦 AndroidStudio を閉じてください。
- SDK をダウンロードしたフォルダの platform-tools を環境変数に登録します。
- sdk フォルダ内の sdk/platform-tools を環境変数の PATH に追加しておきます。
- Windows の場合 : C:\Users\<USERNAME>\sdk\platform-tools となります。<USERNAME> は適切なものに置き換えてください。
- Mac OS X の場合 : /Users/<USERNAME>/Library/Android/sdk/platform-tools
起動方法
- Windows / Mac OS X は Launcher のアイコンから
- Linux はコマンドラインより android-studio/bin/studio.sh を実行してください
Mac OS X の注意点
- Mac OSX 10.10 Yosemite で Java の version が違うと怒られたら
- アプリケーションフォルダの Android Studio.app を右ボタンメニューから「パッケージの内容を表示」
- Contents の中の Info.plist を編集します
- JVM Version を 「1.7*」 に変更
Linux の注意点
- libz.so.1 が無いと言われたら
- Ubuntu の場合 : 「 sudo apt-get install zlib1g:i386 」
Android NDK の install
- 下記から NDK のアーカイブをダウンロードします。
-
- NDK r8e から 64bit OS 版を選ぶことができるようになっています。
- 例えば Windows x64 上で開発する場合 android-ndk-r10e-windows-x86_64.exe をダウンロードします。(頻繁に更新されるのでバージョン番号は新しいものに置き換えてください)
-
- 自己解凍形式なので、実行して任意のフォルダに展開します。
- 解凍方法
- Windows の場合はそのまま exe を実行します。
- Linux / Mac OS X の場合は実行属性を追加してからコマンドラインで実行します。
- chmod 700 android-ndk-r10e-linux-x86_64.bin
- ./android-ndk-r10e-linux-x86_64.bin
- 展開場所を説明では仮に C:\android\android-ndk-r10e としておきます。
- 環境変数の PATH にも NDK のフォルダを追加しておきます。
- 例: C:\android\android-ndk-r10e を追加します。
Android NDK の更新
新規 install 手順と全く同じです。 新しいバージョンのアーカイブを落として置き換えます。
Eclipse + ADT を使用する場合
Android SDK の install
eclipse, ADT, Platform SDK が同梱されるようになったので以前よりも簡単になりました。 Windows, MacOS X, Linux 共通です。
- 下記から SDK のアーカイブをダウンロードし展開します。
- 例 (MMDD= 日付)
- adt-bundle-windows-x86-2014MMDD.zip
- adt-bundle-windows-x86_64-2014MMDD.zip
- adt-bundle-mac-x86_64-2014MMDD.zip
- adt-bundle-linux-x86-2014MMDD.zip
- adt-bundle-linux-x86_64-2014MMDD.zip
- 展開したフォルダをインストールしたい場所に移動します。(以後 Install フォルダと呼びます。仮に C:\android\adt-bundle-windows-x86_64 としておきます)
- Windows の場合 JDK を install しておきます。
- 下記から install 。JRE は不要。
- 64bit OS の場合 jdk-7u21-windows-x64.exe など (ファイル名は version によって異なる)
- install したら jdk の bin を PATH に登録します。例: C:\Program Files\Java\jdk1.7.0_21\bin (名前は version にあわせて変更する)
- 環境変数 JAVA_HOME に jdk のパスを登録します。例: C:\Program Files\Java\jdk1.7.0_21 (パスは version にあわせて変更する)
- Install フォルダ内の eclipse の中にある eclipse を実行します。
- 例: C:\android\adt-bundle-windows-x86_64\eclipse\eclipse.exe
- workspace の場所は任意
- JDK が無い場合はここで install を促されます。
- もし SDK が見つからないと言われたら、menu の Windows → Preferences → Android → “SDK Location:” に SDK のパスを設定してください。
- SDK のパスは Install フォルダの内の sdk です。
- 例: C:\android\adt-bundle-windows-x86_64\sdk
- platform-tools を環境変数に登録します。
- Install フォルダ内の sdk/platform-tools を環境変数の PATH に追加しておきます。
- 例: Windows の場合 C:\android\adt-bundle-windows-x86_64\sdk\platform-tools など (実際のパスは Install フォルダに合わせて変更する)
Android SDK の更新
- eclipse を起動します。
- eclipse menu の Help → Check for Updates
- ADT plugin などの更新ができます。
- もしエラーが出て ADT の更新ができない場合は下記の手順を確認して下さい。
- Help → Install New Softwar … → 右上の [Add…] ボタン
- Add Repository に下記のエントリを追加登録
- Name: ADT
- Location: https://dl.google.com/android/eclipse/
- Android SDK Manager を起動します。
- eclipse の menu から Window → Android SDK Manager
- または eclipse を閉じてから Install フォルダ内の “SDK Manager” を実行します。
- Andriod SDK Manager を使うことで、ツールを更新したり、他の Version の Android SDK を追加できます。
- tool 更新時にエラーが出る場合は eclipse を終了し、USB 接続されている Android デバイスを外しておいてください。
- Windows の場合は忘れずに “Google USB Driver” を追加しておきましょう。
今後新しい Android SDK がリリースされてもも SDK Manager 上で更新&追加するだけで OK です。
注意点
ADT Plug-in が更新できないケースが何度か発生しています。 もし更新エラーになる場合は、修正されたパッケージが再配布されている場合があるので adt-bundle-〜.zip を再ダウンロードしてください。
Android NDK の install
- 下記から NDK のアーカイブをダウンロードします。
-
- NDK r8e から 64bit OS 版を選ぶことができるようになっています。
- 例えば Windows x64 上で開発する場合 android-ndk-r10d-windows-x86_64.exe をダウンロードします。(頻繁に更新されるのでバージョン番号は新しいものに置き換えてください)
-
- 自己解凍形式なので、実行して任意のフォルダに展開します。
- 解凍方法
- Windows の場合はそのまま exe を実行します。
- Linux / Mac OS X の場合は実行属性を追加してからコマンドラインで実行します。
- chmod 700 android-ndk-r10d-linux-x86_64.bin
- ./android-ndk-r10d-linux-x86_64.bin
- 展開場所を説明では仮に C:\android\android-ndk-r10d としておきます。
- eclipse を起動し、NDK のパスを設定します。
- menu Window → Preferences → Android → NDK → “NDK Location” に設定
- 環境変数の PATH にも NDK のフォルダを追加しておきます。
- C:\android\android-ndk-r10d を追加します。
Android NDK の更新
新規 install 手順と全く同じです。 新しいバージョンのアーカイブを落として置き換えます。
過去の install 手順 (2012/11/10)
古いインストール手順の解説。 eclipse, ADT を個別に install しています。
- eclipse と SDK を別インストールする場合は以前と同様の手順となります。
Windows の場合
install 中に問題発生時の対処方法
- SDK Manager.exe が起動しない場合 → 環境変数 ANDROID_SW を削除
実端末の接続 / adb driver
PC に実機を接続してデバッグするには adb driver が必要。
たいていは端末メーカーから提供されている。
もしなければ自分で inf に追加できる。1)
- android-sdk-windows\extras\google\usb_driver 内の android_winusb.inf を編集する
- 注意! : Google usb driver のパスは install 時の SDK version によって異なります。下記のどれかです。必要に応じて読み替えてください。
- android-sdk\extras\google\usb_driver
- android-sdk-windows\extras\google\usb_driver
- android-sdk-windows\google-usb_driver
- android-sdk-windows\usb_driver
- 下に記載した設定行を [Google.NTx86] 及び [Google.NTamd64] セクションの最後に追加する
- Windows が 32bit (x86) なら Google.NTx86 、64bit (x64) なら Google.NTamd64 の情報が参照されます。
- C:\Users\<ユーザー名>\.android\adb_usb.ini がもし存在していればファイルを編集する
- ベンダーコードを 16進数で記述する。ベンダーコードは VID_ の後ろの数値です。VID_0123 の場合 0x0123 を追加します。
- コマンドラインでサーバーを再起動する
- adb kill-server
- adb start-server
- デバイスの 設定→アプリケーション→開発→ USB デバッグ を on にする
- USB で接続して、ドライバとして android-sdk-windows\extras\google\usb_driver を指定
- adb devices でリストが取れて、かつ online になっていれば成功
- 注意点
- Windows 8/8.1 ではこの方法による署名のないドライバの install ができません。
android_winusb.inf
; 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
adb_usb.ini
VID_ 以後の番号だけ追加する。(adb_usb.ini が存在しない場合は不要です)
0x0955 0x2350 0x041e 0x0bb4 0x04e8 0x04dd 0x0409 0x054c 0x1949 0x0b05
DDMS
PC に接続されているデバイスを管理するためのコマンドが ddms。
eclipse からも起動できるが、コマンドから直接実行も可能。
- android-sdk-windows\tools\ddms.bat
接続されているデバイスの情報、コンソール、ファイルシステムの操作、等が可能。
eclipse の場合、任意の perspective にウィンドウとして個別に追加できる。
- menu の Window → Show View → Other…
- Android の中から Devices, File Explorer, LogCat 等
- Devices のウィンドウでスクリーンキャプチャが取れる
adb
コマンドラインツール 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 する |
emulator
実機がなくても Android Virtual Device (AVD) を使うことができる。
- eclipse
- Window → AVD Manager
- Virtual devices → [New]
- Name: 適当
- Target: Android ?.?.? API Level ?? (必要に応じて選ぶ)
- CPU/ABI: ARM (armeabi-v7a)
- SD Card: 適当 (1GB くらい)
- Skin: 画面サイズを選ぶ
- Hardware: 基本的にデフォルトで良い。GPU を使う場合は下記の項目を追加
- New… → Property: GPU emulation を選択 → OK
- GPU emulation の Value を yes に変更
- Create AVD
Start を押すと起動する。
Intel System Image について
- SDK Manager で「Intel x86 Atom System Image」を入れると x86 用 AVD を作成できる。
- 高速に実行できるが Intel の専用ツールが必要。これを入れると仮想PC 系ソフトと同時実行できないので注意。
- 従来通り ARM の System Image なら低速だが問題ない。
sample
SDK Sample
SDK sample のプロジェクト作成
- eclipse 起動
- File → New → Project… → Android → Android Sample Project
- Select Build Target で OS version を選択
- Select Sample で好きなのを選択
- Finish
ビルド&実行方法
- eclipse の Java の画面で プロジェクトを選んで右ボタン
- Run as → Android Application
NDK Sample
NDK Sample のプロジェクト作成
- eclipse 起動
- File → New → Project… → Android → Android Project form Existing Code
- Root Directory に ndk の samples から任意のパスを設定
- 例: ~android-ndk-r8b\samples\hello-gl2
- Projects: にリストが出るのでチェックが入ってることを確認して Finish
- プロジェクトの上で右ボタンを押してメニューから Android Tools → Add Native Suport…
ビルド&実行方法
- Project → Build Project
- プロジェクトを選択して右ボタンから → Run As → Android Application (Perspective に C/C++ が追加される)
- cygwin/bin にパスが通っていないとエラーになります。先に通しておいてください。
デバッグ方法
- AndroidManifest.xml を書き換えます。
- application に 「android:debuggable=“treu”」を追加。
- bulid し直します。
- プロジェクトを選択して右ボタンから → Debug As → Android Native Application
- 少々時間がかかりますが break point 等が反映されます
ソースコードのパースエラーが出る場合の対処方法
- 強引ですが
- Window → Preferences → C/C++ → Code Analysis のチェックを全部外す
- Eclipse を起動し直す
Console
アプリケーションからの出力メッセージは LogCat に入る。
DDMS をひらいてターゲットを選択すると見える。または Devices ウィンドウで選択する。
Linux の場合
実端末の接続
Linux の場合は比較的簡単で、特に adb driver を用意する必要がなく端末を接続できます。
Ubuntu を想定しています。
- /etc/udev/rules.d/51-android.rules ファイルを編集します。もしなければ作成
- 操作例: sudo vi /etc/udev/rules.d/51-android.rules
- USB のベンダー ID (VID) を下記のように記述します。
- SUBSYSTEM==“usb”, SYSFS{idVendor}==“<番号>”, MODE=“0666”
- ファイルのパーミッションを変更します
- 操作例: sudo chmod a+r /etc/udev/rules.d/51-android.rules
- 定義ファイルを作成してから USB で実端末をつなぐと adb や DDMS で認識している状態になります。
定義ファイルの例
## /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 もつながらないかもしれません。
- ◯ (2.2) HTC Desire X06HT
- ◯ (2.2) Huawei IDEOS U8150-B
- × (2.1) Creative ZiiO 7inch
未検証
- (2.2) MouseComputer LuvPad AD100
- (2.2) Hardkernal ODROID-S
- (2.1) Creative ZEN Touch 2
プロジェクトを他の環境へ持っていく場合
Windows/MacOS X/Linux 共通です。
プロジェクト読み込み
現在のワークスペースに読み込みます。
- Eclipse 起動
- File → Import → General を開いて Existing Projects into Workspace
- Browse でフォルダを選択する。“.project” や “.cproject” が置いてあるフォルダを指定
- OK → Finish
Import 後に問題が発生した場合
"Android requires .class compatibility set to 5.0. Please fix project properties."
このエラーは Android SDK の API Level とは関係ないようです。
- Eclipse でエラーの出ているプロジェクトを選択し、右ボタンのメニューを開く
- Android Tools → Fix Project Properties
- Eclipse を一旦終了して再起動する
- Project → Clean
"Project 'sandboxPlugin' is missing required source folder: 'gen'"
Eclipse を一度起動しなおしすと直ります。