AVD(アンドロイドエミュレーター)の使い方、その1


 それでは、今回は AVD(Android Virtual Device)アンドロイド バーチャル デバイス、の使い方について書いて行きます。
 
 
 アンドロイドスマートフォンのエミュレーターです。

 SDKに入ってます
img00857
 
 
 これがまたすごく遅くて、体感的に PCのスペック的には CPU4コア以上、メモリ 8GB以上くらいないときついのではないでしょうか。
 (なんとなく新しいバージョンになってから、少し早くなったような気もする)

 しかも HSP Dish helperはビルド中にメモリが足りなくなると「not enough disk space PC(メモリ不足なんだぜ)」とか言われて止まってしまう。
 (たしかその時は winアップデートも動いていたような)

 自分は良く分からなくて、結局これと ANDROID STUDIOのせいでメモリを 2GB → 4GB(実質 3.2GB程度だけど)に買い足してしまいました。

 しかし実機があれば別に使わなくて良いし、説明書にもエミュは未サポートと書いてあって、理由は分かりませんけどアプリを転送しても動かないので、あまり使わないかもしれません。

 アプリが動けば、様々な環境でのテストができて良いんですけど、どうしたらできるんでしょうね。

 まだ試してませんけどアンドロイドエミュレーターは他にもあるので、他のエミュでテストできれば良いのかもしれません。

 他のエミュについては、別の機会にまたやりましょう。

 

 さて本体の前に、AVDを少しでも早くするために HAXMというものの設定を説明します。
 
 これは CPUとマザーボードが VT-x(Intel Virtualization Technology)に対応している時に使えます。

 対応してないとか、使わないとか、めんどくさいとか、後にしようとか言う人は、読み飛ばしてください。
 
 
 参考: Intel HAXMのインストールと設定 0円で1から始めるAndroid開発記さんのページ
 
 
 Intel Hardware Accelerated Execution Manager (Intel® HAXM)
 ハードウェア アクセラテッド エグゼクション(?)マネージャー、と。
 ハードウェアで高速化(アクセラ)しますという意味かな。

 用語だけで頭いたくなってくる。

 自分の CPU(G1820)だとこんな感じで対応してる
img00856
 
 
 マザーボードの BIOS設定で Visualization Technology(VT-X)を有効にします。
 
 
 SDKのフォルダにある Haxmのインストーラーを実行します。

 SDKフォルダ → extras → intel → Hardware_Accelerated_Execution_Manager → intelhaxm-android.exe
img00858
 コレかな
 たぶんこれ、SDKマネージャーの extrasの最後の Intel x86 Emulatorでダウンロードしたやつだと思う。

HAXM
 NEXT

img00861

 この画面で AVDで使うエミュの最大メモリ上限を決める。

 これは後から変更できない(やり方が分からない)変更するにはもう一度インストーラーを実行してやり直すしか無いみたい。

 一応インストーラーの2回目からは Changeという項目で変更できる。

 スマートフォンのメモリは、最低でも 1GBは無いと実機でも遅い。
 自分の手もとにある Android 2.3は 1GBだ。
 最近のスマートフォンは、少し昔の下手な PCより性能が良かったりするので、今は最低でも 2GBは積んでる。

 しかし 32bit環境では PCのメモリが最大でも 3.2GBなので、テストである事も考えて 1GBくらいが良いかもしれない。
 (自分の環境だと最大で 1.6GBでした、しかもエミュの設定では結局 768MBが最大)

img00863
 Install

 Finish
img00864
 Launch なんたらは説明書のページが開く
 
 
 コマンドプロンプトで「sc query intelhaxm」と書いてEnter
img00865

 RUNNINGになっていれば OK、だそうです。
 
 
 
それでは AVDを起動してみましょう
 
 
 参考サイト:Android仮想デバイスマネージャーの使い方(SDK r21対応) keicha_hrsさん
 
 
 zip版だった場合は、管理者として実行します
img00857
 
 
 右側のボタンを押して使います
img00872
 右のタブの Device Definitionsは、実際にあるモデルから選択します

 それではCreate(作る)ボタンを押しましょう。

 設定画面が立ち上がります
img00873
 
 
 AVD Name: 構成の分かる名前にしたら良いと思います。

 Device: スマホの機種を選びますが、主に解像度目安かな。もちろん様々な機種をテストする時もここ。

  一応、販売されているのは、
  Android 2なら Nexus One、Nexus S
  Android 4ならGalaxy Nexus、Nexus 4
  Nexus 5は4.4
  5.0~ Nexus 6
  Nexus7~はタブレットのようなものになってるようです。

 Target: アンドロイドバージョン(API)を選ぶ。SDK Managerでダウンロードしたものしか選べない。

 CPU\ABI: エミュレートするスマートフォンの CPUを選ぶ。HAXMを設定していて、Intel Atom (x86)を選ぶと、高速化できる。

 Keyboard: PCのキーボード入力が反映されるかどうか。

 Skin: スマートフォンの外観。別に要らないと思うから、No Skinで良いかな。後は気分なんだろうか。

 Camera: カメラ。カメラを使ったソフトでも無ければ要らないと思われる。

 Memory: スマホのメモリ。なぜか自分のPCだと 768MB以上はダメと表示される。
 VMは JAVAで使うメモリらしくて、機種かアンドロイドバージョンによっては、いくらか設定してくれと表示される。

 Interbal Storage: ストレージ、電源を消しても記憶しておく HDDや SSDのような記憶装置。昔のスマートフォンには付いて無いものもあって SDカードで代替しているらしい。自分の手元にある実機がそれ。

 SD Card: ストレージメモリを設定すれば要らない?、あるいは昔のスマホの構成を再現するなら?

 Emulation Optons: Snapshotは前回の状態を記録していて起動時に早くなるみたいだけど未確認。
 Use Host GPUは PCハードのグラフィック機能を使ってエミュを描画するみたい。エミュは遅いのでできるだけ実機に近づけるために、グラボを乗せているとか言う人はチェックしたら良いだろう。
 ちなみに自分の PCの CPU、G1820は CPU内にグラボが内臓されていて、ちょっとは早くなるみたい。

 Snapshotと Use Host GPUは、2つ一緒に使用できない。
 
 
 一番下の欄に、足りない条件が表示される
img00874
 画像は RAM(メモリ)は 768MBまでの設定しか使えません、という表示

 修正して下の欄が空白になったら OKを押そう。

img00878

 作成されたモデルを選んで Startを押すと立ち上がる。

 Editは修正、Deleteは削除、Detailsは内容が表示される。
 
 
 長くなったので次回に続く。

コメントを残す

メールアドレスが公開されることはありません。