アピアリーズ Tech Blog

アプリ開発・運用を簡単にするBaaS「アピアリーズ」。このBlogでは、アプリを作りたい方、運用したい方、広めたい方に、ちょっぴり使える情報をお届けします。

Androidのエミュレータはどうやって使うの?

エミュレータって何?

エミュレータとは開発環境上で仮想デバイスを構築し、その中で自分の作成したアプリを擬似的に起動させることができるものです。これにより実際に実機を持っていなくても動作を確認できます。 またAndroidスマホはいろいろなタイプの機種がありますので、エミュレータ上でデバイスの種類や画面の大きさ、SDカードの容量などのスペックを設定してテストすることができます。

今回はAndroid StudioとEclipse(ADT Bundle)での方法を説明いたしますが、EclipseのADT Bundleは現在Googleからの配布は終了しています。 単体でEclipseとAndroid SDKをダウンロードし、EclipseにADT Pluginを追加することにより、Androidの開発が可能になりますが、初心者の方にはその分敷居が高くなってしまいます。 これからAndroidアプリ開発をしてみたいという方には、Android Studioの方をお勧めします。

今回は

  • Mac OS X Yosemite 10.10.3
  • Java 1.8.0(Android Studioにて)
  • Java 1.7.0(Eclipseにて)
  • Android Studio 1.1.0
  • Eclipse IDE for Android Developers 23.0.2

以上の環境下で行いましたが、Windows版でもエミュレータの使い方は基本的に同じです。

前提
  • Android StudioまたはEclipseにAndroid SDKをインストール済みであること
  • アプリを作成済みであること

Android Studio上でのエミュレータの使い方

仮想デバイスの選択と起動

f:id:appiaries:20150602152015p:plain

上部のメニューよりTools>Android>AVD Managerを選択するとAVD Managerが立ち上がります。

f:id:appiaries:20150602152037p:plain

仮想デバイスはNexus5がデフォルトで作成されます。その他は過去に筆者が作成したものです。左下の「Create Virtual Device..」から他のエミュレータを作成することもできます。

そこで右の緑色の再生ボタンを押します。するとエミュレータが立ち上がります。結構時間がかかりますが、気長に待ちましょう。

f:id:appiaries:20150602152053p:plain

ロック画面が出ました。

f:id:appiaries:20150602152108p:plain

上にクリックしながらスワイプすることで、ホーム画面を開けます(他のデバイスではまた違うかもしれません)。

failed to loadと出た場合

f:id:appiaries:20150602152134p:plain

実は初め、Nexus5だけfailed to loadとなっていました。

f:id:appiaries:20150602152157p:plain

そこでAndroid Studioの真ん中の画面上部からNexus5を選択しましたがダメでした。

failed to loadの右の▼ボタンを押してみると「System Image」画面が出て、そこにDownloadリンクが表示されています(ここのキャプチャを撮るのを失念してしまいました)。 failedしているのはNexus 5 API 21 x86ですので、Lollipop 21 x86の「Download」リンクを押してみたところその他も全部ダウンロードされたようです。

f:id:appiaries:20150602152214p:plain

「Next」を押します。

その後何もいじらずに「Finish」を押しましたが、変わりありませんでした。そこでAndroid Studioを再起動させて、もう一度AVD Managerを立ち上げたところ、「Faild to load」が消えていました。 Androidアプリ開発には何かとトラブルがつきものですが、今回のようにIDEを再起動させることで直る場合もあります。

仮想デバイス上でアプリの起動

今度はその仮想デバイスの中で、作成しておいたアプリを起動させます。

f:id:appiaries:20150602152314p:plain

上部メニューより「Run」>「Run App」を押します。

f:id:appiaries:20150602152324p:plain

「Choose Device」画面が出ますので、「Choose a running device」をチェックして、現在起動している仮想デバイスを選択し「OK」を押します。

f:id:appiaries:20150602152337p:plain

アプリが起動しているのを確認できます。

Eclipse(ADT Bundle)上でのエミュレータの使い方

筆者も1年ぶりにEclipseを立ち上げたのですが、多少トラブルがありました。結果として初心者向けでない内容も含まれているかもしれません。やはりこれからAndroidアプリ開発を始めたいという方には、Android Studioで開発するのが無難かと思われます。

まず立ち上げると、以下のようなダイアログが出てEclipseを起動することができませんでした。

f:id:appiaries:20150602152409p:plain

どうやらJava SE 6 Runtimeをインストールする必要があるようで、「詳しい情報」をクリックするとブラウザにダウンロードページが表示されるのですが、さすがに今更Java6をダウンロードするのも気が引けますので、せめてJava SE 7でできるようにしたいと思いました。

Macのターミナルを立ち上げ、

$ cd /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/

と打ち込んでJava7がインストールされている場所まで移動します。 一応以下のコマンドで現在の場所を確認します。

$ pwd /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents

その中にあるInfo.plistを編集するのですが、一般ユーザーでは書き換えできない設定になっているので、sudoで一時的に管理者権限を取得します。そしてviで開きます。

$ sudo vi Info.plist

この箇所を探し出します。

<key>JVMCapabilities</key>
 <array>
  <string>CommandLine</string>
 </array>

そして以下のように書き換えます。

<key>JVMCapabilities</key>
 <array>
  <string>JNI</string>
  <string>BundledApp</string>
  <string>WebStart</string>
  <string>Applets</string>
  <string>CommandLine</string>
 </array>

そしてもう一度、ApplicationsフォルダからEclipseのアイコンを直接クリックして立ち上げようとしましたが、また同じ結果になりました。 そこでCtrl+Spaceでspotlightを立ち上げ、そこにEclipseと入力することによって立ち上げました。そうすると無事Eclipseが起動しました。その違いは未だにわかりません。

仮想デバイスの選択と起動

f:id:appiaries:20150602152511p:plain

Eclipse上部のメニューから「Window」>「Android Virtual Device Manager」を押します。

f:id:appiaries:20150602152521p:plain

「Android Virtual Devices」では既に作成してあるデバイスが表示されます。今回はNexus5を選択し、右の「Start」ボタンを押します。

f:id:appiaries:20150602152531p:plain

「Device Definitions」を押すと使用可能なデバイスが表示されます。この中から選んで新規に作成することもできます。

f:id:appiaries:20150602152542p:plain

「Launch Options」が表示されますが、特に何もせず進みます。すると仮想デバイスが起動します。 これもAndroid Studio同様、時間がかかります。

f:id:appiaries:20150602152554p:plain

ロック画面が表示されたらAndroid Studioの時と同様に、クリックしながら上にスワイプしてホーム画面を開きます。

仮想デバイス上でアプリの起動

左のパッケージエクスプローラーより起動したいアプリを選択します。 そして上のメニューより「Run」>「Run」を押してアプリを起動します。今回は筆者が以前作成した「Circular Ramen Timer」というアプリを起動します。

f:id:appiaries:20150602152615p:plain

現在動いているデバイスを選択>「Run」を押します。

f:id:appiaries:20150602152628p:plain

エミュレータ内にアプリが起動しました。

もしくはエミュレータを立ち上げていない状態で、左ペインから開きたいプロジェクト(アプリ)を選択。

f:id:appiaries:20150602152640p:plain

右クリック(Ctrl+クリック)で「Run as」>「1 Android Application」を選択します。

f:id:appiaries:20150602152650p:plain

デバイスを選択する画面が出てきたら、アプリを立ち上げたいデバイスを選択しましょう。

その後エミュレータが立ち上がり、選択したアプリがその中で起動します。

いかがでしょうか? 初めの環境構築に比べれば、エミュレータの使い方は比較的簡単です。 今回筆者は多少トラブルがありましたが、皆さんは無事に成功することを願っています。

外部リンク