こんにちは。
今回は、MacOS Xを用いてAndroidアプリの開発環境作成とアプリ開発に挑戦してみます。
ちなみに、筆者の自宅にはWindows環境がないので、対象はMacOSのみです。あしからず。
対象のMacは以下のものを用いました。
- 使用HW:MacBook Air 13-inch, Mid 2011 1.7GHz Intel Core i5
- 対象OS:MacOS X Ver.10.8.2
- Java Ver.1.6.0_41
- eclipse4.2.1 JUNOインストール済み
実施内容は以下の通りです。
1.MacOS XへAndroid SDKのインストールを実施します。
2.インストール済みのeclipseに対して、Androidパッケージをインストールします。
3.eclipseから起動できるAndroidエミュレータの設定と、起動方法を説明します。
4.エミュレータ上で起動したAndroidのロケール設定の方法を説明します。
5.Androidパッケージをインストールしたeclipse上でHelloWorldアプリを作成し、実行するまでを説明します。
では、早速環境作成から始めてみます。
1.Android SDKのインストール
1-1.SDKのダウンロード
・以下のURLを開く
http://developer.android.com/sdk/index.html
1-2.”Download the SDK ADT Bundle for Mac”をクリック。
1-3.以下の画面が開くので、利用規約に合意(”I have read and agree with the above terms and conditions.”にチェック)して、”Download the SDK ADT Bundle for Mac”ボタンをクリック。
1-5.ダウンロードが終わったら、ダウンロードされた”adt-bundle-mac-x86_64”を”アプリケーションフォルダへ移動
2.eclipseにAndroidパッケージをインストール
2-1.Helpメニューから”Install New Software…”を選択
2-2.Install画面画面が開いたら、”add…”ボタンを押下して”Add Repository”ダイアログを開く。
2-3.”Add Repository”ダイアログのName:に”Android SDK”、Location:に以下のURLを入力して、OKボタン押下。
https://dl-ssl.google.com/android/eclipse/
2-4.Install画面のWork with:にAdd Repositoryダイアログで入力したNameとURLが設定される。
ここで、Nameリストの全てにチェックを入れ、”Next >”ボタン押下。
2-5.インストールを完了して、eclipseを再始動すると、以下のワーニングメッセージ表示後にSDKのディレクトリを指定する。
2-7.Preferences画面が開くで、Android SDKのToolsを格納しているディレクトリを指定する。
2-8.Android SDKのロケーションを設定する画面が開くので、3でインストールしたSDKのディレクトリを指定して、”Next >”クリック。
2-9.使用統計を送付するかを聞かれるが、送っても送らなくてもインストールは問題ない。
2-10.エミュレータの起動に必要なパッケージのインストール。Packagesの”Android SDK License”を選択し、”Accept License”を選択して、Install実行。
2-11.パッケージのインストール後、WindowメニューにAndroid SDK Manager等のメニューが表示されるように設定
(環境によっては不要かもしれない。)
2-11-1.Windowメニューから、”Customize Perspective”を選択。
2-11-2.Customize Perspective画面が開くので、Command Groups Availabilityタブをクリック。
2-11-3.”Android SDK and AVD Manager”をチェックしてOK
2-11-4.Windowメニューに”Android SDK Manager”と”Android Virtual Device Manager”が追加される。
2-12.必要であれば、追加のパッケージをインストールする
3.Androidエミュレータの設定と起動
3-1.Windowメニューから、Android Virtual Device Managerを起動
3-2.”New…”ボタンを押して、”Create new Android Virtual Device”画面を開く
3-3.”Create new Android Virtual Device”画面の設定。
今回”Create new Android Virtual Device”画面で設定した項目は以下の通り
- AVD Name:Android4.2NexusOne(名前なので何でも良い。)
- Device:Nexus One(3.7″,480 × 800: hdpi)
- Target:Android 4.2 – API Level 17)
- CPU/ABI:ARM (armeabi-v7a) (Nexus Oneの場合はこれで固定)
- Keyboard:チェック(チェックを入れると、PCのキーボードから入力可能。外すとソフトウェアキーボードが表示される。)
- Skin:チェック(チェックを入れると、エミュレータハードウェアキーが表示される。表示されない状態でどの様に操作するかは不明)
- Front Camera:付けていないので選択不可
- Back Camera:None(MacBook AirのFaceTimeカメラをBack Cameraとして認識しているようだが、とりあえず必要ないので。)
- Memory Options:デフォルトのまま
- Internal Storage:10 GiB(デフォルトの200MiBでは、不安だったので増やしたが、増やさなくても問題ないかも。)
- SD Card:デフォルトのまま(とりあえず必要ないので。)
- Emulation Options:Snapshotにチェック、Use Host GPUはチェックなし
- SnapShotは終了時の状態を保持する機能。開発中のAPを起動できなくなる問題があったので、後で外した。
- Use Host GPUは付けるとHost PCのGPUを使えるようになる。チェックしても良さそう。
3-5.”Start…”ボタンを押すと、”Launch Options”画面が表示される。
- Scale display to real size
- 画面解像度が大きいデバイスをエミュレートする場合に画面を縮小表示してくれる。 今回は必要ないので、チェックしていない。
- Wipe user date
- エミュレータ環境内のデータを削除する。
- Launch from snapshot
- Save to snapshot
- 上記二項目は”Create new Android Virtual Device”画面の”Snapshot”からチェックを外すと無効になる。
4.Androidエミュレータのロケール設定
4-1.ホーム画面の真ん中下のアイコン(◯に・・・のアイコン)をクリック。
4-2.Apps画面が開くので、”Custom Locale”アイコンをクリック。
4-3.Locale Listから”ja_JP – Japanese”を選択し、”Select ‘ja_JP'”ボタンを押下。
5.eclipseでのAndroidアプリの作成方法
8-1.eclipseのFileメニューから[New]>[Project…]を選択。
5-2.New Project画面で”Android Application Project”を選択し、”Next >”ボタン押下。
5-3.New Android Application画面に必要事項を入力し、”Next >”ボタン押下。
5-4.Configure Project画面に必要項目を入力し、”Next >”ボタン押下。
- Create custom launcher icon:今回、アイコンは作らないのでチェックは外す。
- Create activity:チェック(今回は基本のパターンなので。)
- Mark this project as a library:チェックなし(今回はライブラリを作るわけではないので。)
5-5.Create Activity画面で作成対象のActivityを選択し、”Next >”ボタン押下。
- 今回は基本のアプリなので、”Blank Activity”を選択。
5-6.Blank Activity画面で必要項目を入力して、”Finish”押下。(やっと終わり。)
- まずは”HelloWorld”が表示できれば良いので、Navigation Typeは”None”を選択。
- 実は、上記の手順でスケルトンのProjectを作成した段階で、すでにHello Worldプログラムは完成してしまっている。
このまま実行するには、以下のようにする。
5-8.上記で作成した”HelloWorld”プロジェクトをcontrol+クリック(もしくは、二本指タップ)し、[Run As]>[2 Android Application]を選択。
5-9.エミュレータが起動され、Appメニューに”HelloWorld”がインストールされているので、クリックして起動する。
- “Hello World!”が表示された。
5-10.想定外にProject作成だけでHello Worldアプリができてしまったので、後は簡単な内容の解説をする。
5-10-1.8-6で名前を指定して自動生成されたActivityファイルを開く。(このActivityがMainのActivityとなる。)
- ここでActivityのライフサイクルから、”onCreate”メソッドが最初に呼び出されるが、その中の”setContentView”メソッドが、画面表示メソッドになる。
- “setContentView”メソッドに渡しているパラメータは、この場合、xmlファイルに定義した画面レイアウトを表しており、それが、”activity_main.xml”ファイルになる。
5-10-2.”activity_main.xml”ファイルをGraphical Layoutで表示すると、以下のようになる。
5-10-13.ここで、”Text Appearance”hello_worldに設定する文字列を定義しているファイルが”res/values/strings.xml”になり、そのファイルのResourcesから”hello_world”を開くと以下のようになっている。
- 上記でResoures”hello_world”に定義しているvalue”Hello world!”が画面に表示されている。
5-11.Resoures”hello_world”のvalueを”Hello New World!”に変更してみる。
- 修正したとおり、”Hello New World”と表示された。
終わりに
以上、MacOS X上にAndroid SDKをインストールして、Project作成時に自動生成されるアプリの実行と、簡単な修正まで実施しましたが、Android SDKには画面レイアウトツールもあり、比較的簡単に画面を作ることができそうです。
ただし、エミュレータの起動にはやや難があり、そもそも起動までに結構時間がかかることや、起動に失敗して固まってしまうことがしばしばありました。
これは環境設定方法の問題もあるのかもしれませんし、MacOS環境特有の問題かもしれません。
ちなみに、比較のためにXcodeを用いてiOS用のHello Worldアプリも作ってみたのですが、こちらはさすがApple純正と言うこともあり、Xcodeをインストールするとそのままエミュレータ環境まで構築され、アプリの自動生成こそされませんでしたがInterface Builderを用いてあっという間にHello Worldアプリができてしまいました。
これにはちょっと驚きですが、こんな簡単なアプリなので、評価は早すぎますね。
できれば、もう少しいじってみたいと思いました。