Android アプリを作ろう　環境構築 〜 Hello,World

#どんな文章？
対象：初心者（そもそも私が初心者だし）
構成：初心者向けサイトでも触れられていないようなハマりどころを中心に、
　　　他サイトを参考にしながら書いていく

#やろうと思ったきっかけ
* PMをずっとやってきているが、技術に明るくない。
* エンジニアの話す概念は理解できても、このままでは困らないか？
* まずは趣味レベルでやってみよう。    
どうせなら、需要はあるも周りで手薄感のあるAndroidをやるのが良いかもしれない。

#結果
* 環境構築（Android Studio）完了！
* 初Hello,World! に、ちょっとだけほっこりする

#やったこと
##環境と参考にしたURL

```
手持ちの環境（自宅）
 - Mac Book Air    
 - OSX 10.7.5(LION)　そこ、古いって言わない
```
* 参考URL    
http://thinkit.co.jp/story/2015/02/25/5644    
http://saku-java.be-ourselves.jp/2014/03/11/mac-android-studio-install/

##Android Studio インストール
実は昔一度Eclipseやら入れるのが面倒すぎて挫折したことがあったのだけど、
今なら簡単らしいじゃないですか。

つーことで、早速Android Studio をインストール。
http://developer.android.com/sdk/index.html
![AndroidStudio.png](https://qiita-image-store.s3.amazonaws.com/0/66213/9154de51-7e91-1d2e-6310-82f726c1371b.png)

最初にやった流れを書くと、
　1．Android Studioインストール
　2．各種SDKインストール

これは簡単。さすがに迷うところはないね。

```
Android StudioはVersion「1.1.0」
APIは20150426時点で最新の「22」を選択。
```
ただ、Android Studio自体もそうだけど、各種SDKのDL&インストールに時間かかる。
ようやく終わって、
でも忘れていた。JDKのインストール。。
手引書とかちゃんと読まないタイプ？　はいはい、その通り。
さて、調べるとデフォルトで1.6がインストールされているらしい。
ターミナルで、

```
java -virsion
```
と叩くと確かに1.6が入っている。
調べると1.7でも良いんじゃねーかって気がするけど、最新は1.8らしい。
そして、1.7はどうやらもうアプデは望めないらしい。
セキュリティを考えると1.8を入れておこう。

・・・ビルドでエラー。。

ですよねー。
で、1.8を入れられないか色々調べていると、
どうやらAndroid Studio側JDKのパスを変更する必要がある？らしい。
しかも、デフォルトで入っているパスと違うようで、探すのに結構手間取ってしまった。
まとめると、

```
Macデフォルトでインストール
 - /System/Library/Java/JavaVirtualMachines/
OracleからDL
 - /Library/Java/JavaVirtualMachines/
```
こんなことらしい。
・・・というか、なんでLibrary二つあるの？

ま、ともあれインストールは完了。
ついでにJavaの古いのを削除するやり方も調べたので残しておく。
http://nanananande.helpfulness.jp/post-3553/

##とりあえずアプリじゃよ
![welcometoandroidstudio.png](https://qiita-image-store.s3.amazonaws.com/0/66213/faf9a37a-0879-6b36-3737-07dac91fceae.png)

Start を選択して、項目を埋めていく。
・・・突然だけど、私のpcドメイン、某テ●リストと同じ名前なんだよね。。
もともとはFCゲームからとったんだけどさ。
へんな疑いかけられたらいやだから、star_cluster（星団）もつけることにする。もう。
そういえばこのゲーム、実は「1991.4.26」発売で、今日も「4.26」！
懐かしいもんです。

そんなこんなで、指示される項目名はだいたいそれっぽく付けていくだけでok。
この辺は簡単で、問題あれば下に赤字でエラーも出てくるし迷わない。

おお。Hellow World と書かれた端末が画面に出てくる。

これをそのまま起動（run）させれば良いらしい。
なんだなんだ、すごい簡単じゃないか。
（実際には裏でビルドの行程があるようだけど、自動なので）

##くそエミュレータめっ
![AVDManager.png](https://qiita-image-store.s3.amazonaws.com/0/66213/6a1b43fb-9e90-98d7-719a-9579ba7e12b5.png)
今日一番のハマりポイント。
この画面が嫌いになるくらい、何度も見るはめに。

実機が手元にないのでエミュレータで動作確認しようとしたら、
![error_yokisinai.png](https://qiita-image-store.s3.amazonaws.com/0/66213/fc980e9e-9bd8-c53e-672c-0f5d4d538e7f.png)
AVDの設定で延々とエラー。
「studio が予期しない理由で終了しました。」
なんなんすかねぇ。
intel HAXM というのはインストール済みなんだけども。
選択しているものが悪いのか、何なのか。

おそらくここで3時間くらい調べていた。
それで結局、

```
プロセッサ  1.7 GHz Intel Core i5
メモリ  4 GB 1333 MHz DDR3
グラフィックス  Intel HD Graphics 3000 384 MB
```
・・・あ、もしかして、このせい？
つまり、メモリが足りない、と?
くそー2011年モデルじゃもうダメだっていうのかよ。
確かに古いけどさー。ネットブラウジングにゃ十分なスペックではあるし。ちっ
その上、検証しようにもメモリが足りないから調べようがない。
お金かけるのもやだし。

もうね、いいっす。
おじさんにはGneymotion with VertualBox があるもん！
![genymotion.png](https://qiita-image-store.s3.amazonaws.com/0/66213/38750f15-e6be-d932-108a-168789f1e465.png)

http://dev.classmethod.jp/smartphone/android/genymotion-install/
このへん参考にしながらインストール。

* Virtualbox    
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp
* Genymotion    
https://www.genymotion.com/#!/

仮想端末はAPI22 が入るやつで今後手に入れることも考えて、
「Nexus5」にしておこう。
ぽちぽち選択してすぐインストール。

今までの苦労はなんだったのだ。。

##ついに・・・
で、ようやくの仮想端末から「Hello,World!」

のまえに実は、もう一個ハマったところ。

```
「AVD選択時に、Genymotionで先に仮想端末を立ち上げておくこと」
```
これがないとせっかくの仮想端末を選択できない。
これも知ってしまえば当たり前なんだけど、引っかかってしまった。。

最後に、実は調べながら何度かProject作り直したりしてて、
ファイルがたまっていたので、きれいにする方法を。

* Projectファイルを削除する    
http://oki2a24.com/2015/03/23/how-to-delete-project-of-android-studio/


・・・何はともあれ、つまずきながらもやりきった！
次回は、本格的にアプリってことで、リストViewを作るところまでやれたらいいなぁ。

#ハマったことと学んだことと
1. 追加インストールしたJDKのファイルパス
2. 実機で動かすときの制限
3. 仮想環境の認識

　→locationの指定を忘れずに（思ったより何でも自動ではやってくれない）
　→仮想環境ってステキ（ハードウェアの制約から結構自由になれる）