[Android] Android SDKをインストールしてエミュレータでブラウザ表示する
失敗の記録。
すんなりいかなくて苦労したあげく、よそ様のようなホーム画面が表示されない。
自分の poor な環境ではうまく動かないのか。。。
[markdown]
## JDK をインストールする
Java Development Kit が必要なよう。
インストールされているか確認したところ、大丈夫そうです。
“`prettyprinted
% 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
“`
> * [osx – how to check if java JDK installed on mac – Stack Overflow](http://stackoverflow.com/questions/14292698/how-to-check-if-java-jdk-installed-on-mac)
もしなければこのあたりを参考にインストールします。
> * [Android SDKをインストールしてエミュレータを準備 [ホームページ作成] All About](http://allabout.co.jp/gm/gc/381330/)
と思ったのですが、起動時にエラーが出ました。
後述の「 JDK をインストールする」のとおりインストールしました。
## Android SDK をインストールする
SDK のダウンロードは下記から。
> * [Android SDK | Android Developers](http://developer.android.com/sdk/index.html#download)
Download をよくみると「Eclipse + ADT plugin」と書いてあり、開発環境もインストールされてしまうよう。
今回は必要ないので「DOWNLOAD FOR OTHER PLATFORMS – SDK Tools Only」を選択。
> * [2/3 Android SDKをインストールしてエミュレータを準備 [ホームページ作成] All About](http://allabout.co.jp/gm/gc/381330/2/)
### brew でインストールする
と思ったのですが、なんとなく homebrew でインストールできそうなのでそちらで試しました。
“`prettyprinted
% 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` が使えるようになっています。
“`prettyprinted
% android –help
“`
## Android SDK Manager を起動し、必要なパッケージをインストールする
`android` で Android SDK Manager が GUI で起動します。
“`prettyprinted
% android sdk
“`
Android SDK Platform-tools のインストールは必須とのことでしたが、起動時にチェック済の項目も含め、そのままインストールします。
ライセンス承認の後、ダウンロードとインストールが始まります。
> * [3/3 Android SDKをインストールしてエミュレータを準備 [ホームページ作成] All About](http://allabout.co.jp/gm/gc/381330/3/)
自分の環境では特に止まることもなく、android sdk の再起動をすすめるメッセージが表示されました。
開発は行わないので、このままエミュレーターの起動を進めます。
> * [OSX – Eclipseを使わないAndroidアプリ開発 – Qiita](http://qiita.com/haburibe/items/e7280a5dfff1594125a3)
なお、後述の通りHAXM のインストールも行いましたが、暴走したような状態になったため使用を中止しました。
## Android Virtual Device Manager で仮想デバイスを作成する
Android Virtual Device Manager を起動します。
“`prettyprinted
% android avd
“`
初期状態では仮想デバイスはありませんが、`android list` で確認できた代表機種の定義は確認できました。
ここでは Nexus 5 を選び、`Create AVD…` すると設定項目が表示されます。
それぞれの項目の意味は、下記が詳しいです。
> * [2/4 Androidスマートフォンエミュレータの使い方 [ホームページ作成] All About](http://allabout.co.jp/gm/gc/381225/2/)
画面を広げてエラーに気づきましたが、CPU と Skin の選択が必須でした。
* Android Wear ARM
* Skin with dynamic hardware controls
HAXM を使う場合は、CPU を Intel Atom (x86) 。
スキンはコントロールボタン付きと言うことらしいです。
> * [android – Setting up AVD to same specs as physical device – Stack Overflow](http://stackoverflow.com/questions/22596527/setting-up-avd-to-same-specs-as-physical-device)
Nexus 5 (Android 4.4.2) の仮想デバイスが作られました。
“`prettyprinted
% 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: 1080×1920
“`
## 仮想デバイスを起動する
Android Virtual Device Manager から選択し `Start…` するか下記コマンドで,エミュレーターが起動します。
“`prettyprinted
% emulator -avd AVD_for_Nexus_5_by_Google
“`
> * [OSX – Eclipseを使わないAndroidアプリ開発 – Qiita](http://qiita.com/haburibe/items/e7280a5dfff1594125a3)
後述の通り、いろいろ試行錯誤。
Nexus S で試したところ起動画面が表示されました。
このあとホーム画面が表示されませんでした。
## 補遺
### HAXMをインストールする
エミュレーターの起動時にこんなエラーが出ました。
“`prettyprinted
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 を起動します。
“`prettyprinted
% android sdk
“`
インストールすると表示が変わりますが、ダウンロードされただけだそう。
> * [Android再入門 – エミュレータの作成 – Qiita](http://qiita.com/gabu/items/8bc1a11f1382409f1d2a)
ダウンロードされたインストーラー(v.1.0.8)を起動します。
“`prettyprinted
% cd /usr/local/Cellar/android-sdk/22.6.2/extras/intel/Hardware_Accelerated_Execution_Manager
% open .
“`
インストール後、エラーなしで起動できました。
しかし仮想デバイスが表示されず、Mac が急発熱、ファンが高速で回り始めました。
危険を感じたので中止しました。
“`prettyprinted
% 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 をインストールする
エミュレーター起動時にこんなエラーが出ました。
“`prettyprinted
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 SE – Downloads | Oracle Technology Network | Oracle](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
インストール後のバージョンはこうなりました。
“`prettyprinted
% 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
“`
[/markdown]