ユーザ用ツール

サイト用ツール


opengl:androidsdk

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

  1. JDK install
    • Windows の場合 JDK を install しておきます。
      1. 下記から install 。JRE は不要。
      2. install したら jdk の bin を PATH に登録します。例: C:\Program Files\Java\jdk1.7.0_21\bin (名前は version にあわせて変更する)
      3. 環境変数 JAVA_HOME に jdk のパスを登録します。例: C:\Program Files\Java\jdk1.7.0_21 (パスは version にあわせて変更する)
    • Linux も JDK install が必要です。
  2. Android Studio を install してください。
    • 上記よりダウンロードしインストールします。
      • Windows : ダブルクリックでインストーラが起動します
      • Mac OS X : ダブルクリックした後 Application フォルダにドラッグします
      • Linux : zip を展開して任意の場所に置いてください
  3. Android Studio を起動します。
    • Windows / Mac OS X は Start Screen / Launcher 等からアイコンを選ぶだけです。
    • Linux はコマンドラインからインストールフォルダの android-studio/bin/studio.sh を実行します。
  4. Android Studio の Setup Wizard
    • Setup Wizard が立ち上がるので、BuildTool など必要なツール類を落とします。
  5. Android Studio Setup (Welcome to Android Studio 画面)
    • 初期メニューが表示されるので、追加で必要な SDK をダウンロードできます。あとから必要になったタイミングで追加しても構いません。
      • Configure → SDK Manager
      • SDK Manager 利用時の注意: BuildTool の更新中に AndroidStudio の終了を促される場合があります。その場合は一旦 AndroidStudio を閉じてください。
  6. 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 が違うと怒られたら
    1. アプリケーションフォルダの Android Studio.app を右ボタンメニューから「パッケージの内容を表示」
    2. Contents の中の Info.plist を編集します
      • JVM Version を 「1.7*」 に変更

Linux の注意点

  • libz.so.1 が無いと言われたら
    • Ubuntu の場合 : 「 sudo apt-get install zlib1g:i386 」

Android NDK の install

  1. 下記から NDK のアーカイブをダウンロードします。
      • NDK r8e から 64bit OS 版を選ぶことができるようになっています。
      • 例えば Windows x64 上で開発する場合 android-ndk-r10e-windows-x86_64.exe をダウンロードします。(頻繁に更新されるのでバージョン番号は新しいものに置き換えてください)
  2. 自己解凍形式なので、実行して任意のフォルダに展開します。
    • 解凍方法
      • Windows の場合はそのまま exe を実行します。
      • Linux / Mac OS X の場合は実行属性を追加してからコマンドラインで実行します。
        1. chmod 700 android-ndk-r10e-linux-x86_64.bin
        2. ./android-ndk-r10e-linux-x86_64.bin
    • 展開場所を説明では仮に C:\android\android-ndk-r10e としておきます。
  3. 環境変数の PATH にも NDK のフォルダを追加しておきます。
    • 例: C:\android\android-ndk-r10e を追加します。

Android NDK の更新

新規 install 手順と全く同じです。 新しいバージョンのアーカイブを落として置き換えます。

Eclipse + ADT を使用する場合

Android SDK の install

eclipse, ADT, Platform SDK が同梱されるようになったので以前よりも簡単になりました。 Windows, MacOS X, Linux 共通です。

  1. 下記から 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
  2. 展開したフォルダをインストールしたい場所に移動します。(以後 Install フォルダと呼びます。仮に C:\android\adt-bundle-windows-x86_64 としておきます)
  3. Windows の場合 JDK を install しておきます。
    1. 下記から install 。JRE は不要。
    2. install したら jdk の bin を PATH に登録します。例: C:\Program Files\Java\jdk1.7.0_21\bin (名前は version にあわせて変更する)
    3. 環境変数 JAVA_HOME に jdk のパスを登録します。例: C:\Program Files\Java\jdk1.7.0_21 (パスは version にあわせて変更する)
  4. 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
  5. platform-tools を環境変数に登録します。
    • Install フォルダ内の sdk/platform-tools を環境変数の PATH に追加しておきます。
      • 例: Windows の場合 C:\android\adt-bundle-windows-x86_64\sdk\platform-tools など (実際のパスは Install フォルダに合わせて変更する)

Android SDK の更新

  1. eclipse を起動します。
  2. eclipse menu の Help → Check for Updates
    • ADT plugin などの更新ができます。
    • もしエラーが出て ADT の更新ができない場合は下記の手順を確認して下さい。
      1. Help → Install New Softwar … → 右上の [Add…] ボタン
      2. Add Repository に下記のエントリを追加登録
  3. Android SDK Manager を起動します。
    • eclipse の menu から Window → Android SDK Manager
    • または eclipse を閉じてから Install フォルダ内の “SDK Manager” を実行します。
  4. Andriod SDK Manager を使うことで、ツールを更新したり、他の Version の Android SDK を追加できます。
    • tool 更新時にエラーが出る場合は eclipse を終了し、USB 接続されている Android デバイスを外しておいてください。
  5. Windows の場合は忘れずに “Google USB Driver” を追加しておきましょう。

今後新しい Android SDK がリリースされてもも SDK Manager 上で更新&追加するだけで OK です。

注意点

ADT Plug-in が更新できないケースが何度か発生しています。 もし更新エラーになる場合は、修正されたパッケージが再配布されている場合があるので adt-bundle-〜.zip を再ダウンロードしてください。

Android NDK の install

  1. 下記から NDK のアーカイブをダウンロードします。
      • NDK r8e から 64bit OS 版を選ぶことができるようになっています。
      • 例えば Windows x64 上で開発する場合 android-ndk-r10d-windows-x86_64.exe をダウンロードします。(頻繁に更新されるのでバージョン番号は新しいものに置き換えてください)
  2. 自己解凍形式なので、実行して任意のフォルダに展開します。
    • 解凍方法
      • Windows の場合はそのまま exe を実行します。
      • Linux / Mac OS X の場合は実行属性を追加してからコマンドラインで実行します。
        1. chmod 700 android-ndk-r10d-linux-x86_64.bin
        2. ./android-ndk-r10d-linux-x86_64.bin
    • 展開場所を説明では仮に C:\android\android-ndk-r10d としておきます。
  3. eclipse を起動し、NDK のパスを設定します。
  4. menu Window → Preferences → Android → NDK → “NDK Location” に設定
  5. 環境変数の 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)

  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
  2. 下に記載した設定行を [Google.NTx86] 及び [Google.NTamd64] セクションの最後に追加する
    • Windows が 32bit (x86) なら Google.NTx86 、64bit (x64) なら Google.NTamd64 の情報が参照されます。
  3. C:\Users\<ユーザー名>\.android\adb_usb.ini がもし存在していればファイルを編集する
    • ベンダーコードを 16進数で記述する。ベンダーコードは VID_ の後ろの数値です。VID_0123 の場合 0x0123 を追加します。
  4. コマンドラインでサーバーを再起動する
    • adb kill-server
    • adb start-server
  5. デバイスの 設定→アプリケーション→開発→ USB デバッグ を on にする
  6. USB で接続して、ドライバとして android-sdk-windows\extras\google\usb_driver を指定
  7. 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 にウィンドウとして個別に追加できる。

  1. menu の Window → Show View → Other…
  2. 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) を使うことができる。

  1. eclipse
  2. Window → AVD Manager
  3. Virtual devices → [New]
    • Name: 適当
    • Target: Android ?.?.? API Level ?? (必要に応じて選ぶ)
    • CPU/ABI: ARM (armeabi-v7a)
    • SD Card: 適当 (1GB くらい)
    • Skin: 画面サイズを選ぶ
    • Hardware: 基本的にデフォルトで良い。GPU を使う場合は下記の項目を追加
      1. New… → Property: GPU emulation を選択 → OK
      2. GPU emulation の Value を yes に変更
  4. 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 のプロジェクト作成

  1. eclipse 起動
  2. File → New → Project… → Android → Android Sample Project
  3. Select Build Target で OS version を選択
  4. Select Sample で好きなのを選択
  5. Finish

ビルド&実行方法

  1. eclipse の Java の画面で プロジェクトを選んで右ボタン
  2. Run as → Android Application

NDK Sample

NDK Sample のプロジェクト作成

  1. eclipse 起動
  2. File → New → Project… → Android → Android Project form Existing Code
  3. Root Directory に ndk の samples から任意のパスを設定
    • 例: ~android-ndk-r8b\samples\hello-gl2
  4. Projects: にリストが出るのでチェックが入ってることを確認して Finish
  5. プロジェクトの上で右ボタンを押してメニューから Android Tools → Add Native Suport…

ビルド&実行方法

  1. Project → Build Project
  2. プロジェクトを選択して右ボタンから → Run As → Android Application (Perspective に C/C++ が追加される)
  • cygwin/bin にパスが通っていないとエラーになります。先に通しておいてください。

デバッグ方法

  1. AndroidManifest.xml を書き換えます。
    • application に 「android:debuggable=“treu”」を追加。
  2. bulid し直します。
  3. プロジェクトを選択して右ボタンから → Debug As → Android Native Application
  4. 少々時間がかかりますが break point 等が反映されます

ソースコードのパースエラーが出る場合の対処方法

  • 強引ですが
    1. Window → Preferences → C/C++ → Code Analysis のチェックを全部外す
    2. Eclipse を起動し直す

Console

アプリケーションからの出力メッセージは LogCat に入る。

DDMS をひらいてターゲットを選択すると見える。または Devices ウィンドウで選択する。

Linux の場合

実端末の接続

Linux の場合は比較的簡単で、特に adb driver を用意する必要がなく端末を接続できます。

Ubuntu を想定しています。

  1. /etc/udev/rules.d/51-android.rules ファイルを編集します。もしなければ作成
    • 操作例: sudo vi /etc/udev/rules.d/51-android.rules
  2. USB のベンダー ID (VID) を下記のように記述します。
    • SUBSYSTEM==“usb”, SYSFS{idVendor}==“<番号>”, MODE=“0666”
  3. ファイルのパーミッションを変更します
    • 操作例: sudo chmod a+r /etc/udev/rules.d/51-android.rules
  4. 定義ファイルを作成してから 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 共通です。

プロジェクト読み込み

現在のワークスペースに読み込みます。

  1. Eclipse 起動
  2. File → Import → General を開いて Existing Projects into Workspace
  3. Browse でフォルダを選択する。“.project” や “.cproject” が置いてあるフォルダを指定
  4. OK → Finish

Import 後に問題が発生した場合

"Android requires .class compatibility set to 5.0. Please fix project properties."

このエラーは Android SDK の API Level とは関係ないようです。

  1. Eclipse でエラーの出ているプロジェクトを選択し、右ボタンのメニューを開く
  2. Android Tools → Fix Project Properties
  3. Eclipse を一旦終了して再起動する
  4. Project → Clean

"Project 'sandboxPlugin' is missing required source folder: 'gen'"

Eclipse を一度起動しなおしすと直ります。

opengl/androidsdk.txt · 最終更新: 2015/05/31 15:12 by oga