[Android] Android SDKをインストールしてエミュレータでブラウザ表示する

失敗の記録。
すんなりいかなくて苦労したあげく、よそ様のようなホーム画面が表示されない。
自分の poor な環境ではうまく動かないのか。。。

JDK をインストールする

Java Development Kit が必要なよう。
インストールされているか確認したところ、大丈夫そうです。

% java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
% javac -version
javac 1.6.0_65

もしなければこのあたりを参考にインストールします。

と思ったのですが、起動時にエラーが出ました。
後述の「 JDK をインストールする」のとおりインストールしました。

Android SDK をインストールする

SDK のダウンロードは下記から。

Download をよくみると「Eclipse + ADT plugin」と書いてあり、開発環境もインストールされてしまうよう。

2014-06-19_android_01

今回は必要ないので「DOWNLOAD FOR OTHER PLATFORMS – SDK Tools Only」を選択。

brew でインストールする

と思ったのですが、なんとなく homebrew でインストールできそうなのでそちらで試しました。

% brew info android-sdk
android-sdk: stable 22.6.2
http://developer.android.com/index.html
Conflicts with: android-platform-tools
Not installed
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/android-sdk.rb
==> Caveats
Now run the 'android' tool to install the actual SDK stuff.
The Android-SDK location for IDEs such as Eclipse, IntelliJ etc is:
  /usr/local/Cellar/android-sdk/22.6.2
You will have to install the platform-tools and docs EVERY time this formula
updates. If you want to try and fix this then see the comment in this formula.
You may need to add the following to your .bashrc:
  export ANDROID_HOME=/usr/local/opt/android-sdk
% brew install android-sdk

指示通り .bashrc あたりに設定を追加します。

.bashrc
export ANDROID_HOME=/usr/local/opt/android-sdk

ファイルを読み込み直すと、android が使えるようになっています。

% android --help

Android SDK Manager を起動し、必要なパッケージをインストールする

android で Android SDK Manager が GUI で起動します。

% android sdk

Android SDK Platform-tools のインストールは必須とのことでしたが、起動時にチェック済の項目も含め、そのままインストールします。

2014-06-19_android_02

ライセンス承認の後、ダウンロードとインストールが始まります。

自分の環境では特に止まることもなく、android sdk の再起動をすすめるメッセージが表示されました。
開発は行わないので、このままエミュレーターの起動を進めます。

なお、後述の通りHAXM のインストールも行いましたが、暴走したような状態になったため使用を中止しました。

Android Virtual Device Manager で仮想デバイスを作成する

Android Virtual Device Manager を起動します。

% android avd

2014-06-19_android_03

初期状態では仮想デバイスはありませんが、android list で確認できた代表機種の定義は確認できました。
ここでは Nexus 5 を選び、Create AVD... すると設定項目が表示されます。
それぞれの項目の意味は、下記が詳しいです。

画面を広げてエラーに気づきましたが、CPU と Skin の選択が必須でした。

  • Android Wear ARM
  • Skin with dynamic hardware controls

HAXM を使う場合は、CPU を Intel Atom (x86) 。
スキンはコントロールボタン付きと言うことらしいです。

Nexus 5 (Android 4.4.2) の仮想デバイスが作られました。

% android list avd
Available Android Virtual Devices:
    Name: AVD_for_Nexus_5_by_Google
  Device: Nexus 5 (Google)
    Path: /Users/****/.android/avd/AVD_for_Nexus_5_by_Google.avd
  Target: Android 4.4.2 (API level 19)
 Tag/ABI: android-wear/armeabi-v7a
    Skin: 1080x1920

仮想デバイスを起動する

Android Virtual Device Manager から選択し Start... するか下記コマンドで,エミュレーターが起動します。

% emulator -avd AVD_for_Nexus_5_by_Google

後述の通り、いろいろ試行錯誤。
Nexus S で試したところ起動画面が表示されました。

2014-06-19_android_06

このあとホーム画面が表示されませんでした。

2014-06-19_android_07

補遺

HAXMをインストールする

エミュレーターの起動時にこんなエラーが出ました。

Starting emulator for AVD 'AVD_for_Nexus_5_by_Google'
emulator: Failed to open the hax module
HAX is not working and emulator runs in emulation mode

SDK の Extra から Intel x86 Emulator Accelerator (HAXM installer) をインストールする必要がありました。
SDK を起動します。

% android sdk

インストールすると表示が変わりますが、ダウンロードされただけだそう。

2014-06-19_android_04

ダウンロードされたインストーラー(v.1.0.8)を起動します。

% cd /usr/local/Cellar/android-sdk/22.6.2/extras/intel/Hardware_Accelerated_Execution_Manager
% open .

2014-06-19_android_05

インストール後、エラーなしで起動できました。
しかし仮想デバイスが表示されず、Mac が急発熱、ファンが高速で回り始めました。
危険を感じたので中止しました。

% ps ax | grep emu
80734 s004  R+     1:41.74 /usr/local/Cellar/android-sdk/22.6.2/tools/emulator64-x86 -avd AVD_for_Nexus_4_by_Google
80901 s012  R+     0:00.00 grep emu
% kill -9 80734

JDK をインストールする

エミュレーター起動時にこんなエラーが出ました。

2014-06-19 17:14:33.163 java[68679:122cf] Persistent UI failed to open file file://localhost/Users/***/Library/Saved%20Application%20State/com.apple.javajdk16.cmd.savedState/window_3.data: No such file or directory (2)

どうも Java まわりのよう。
面倒なので JDK をインストールしました。

インストール後のバージョンはこうなりました。

% java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
% javac -version
javac 1.8.0_05