「SDKr21」以降の仮想デバイス(AVD)作成法

AVD作成法の概要
Androidアプリ開発環境構築の概要
このサイトのトップへ

「SDKr21」以降の仮想デバイス(AVD)作成上の注意点

「概要」はこれまでと同じ

Android仮想デバイス(AVD)は、Android SDKを用いて作成します。SDKのバージョンが2013年春に、「r20」から「r21」に変わったとき、AVDの作成方法も少し変りました。そこで、変更点をこのページで説明します。「AVDとは何か」など、以前からの概要は、当サイトの別ページでご覧下さい。

微妙だが確実に変わったインターフェイス

「AVDマネージャ」における仮想デバイス作成のインターフェイスは、SDKr21で「ちょっと」変わったように見えますが、実は操作性が確実に変わり、この違いに慣れないと相当イライラすると思います。
図1 AVD作成画面。ちょっとしか違わないようでかなり操作性が違う

違いその1:「デバイス」を選ぶ

図1に示される作成画面が以前と違う点は、「デバイス(装置)」を選べることです。「Nexus S」「Garaxy Nexus」などが選べます・・・と言いたいところですが、固有名で選べる機種は御存じ「Nexus」シリーズだけです。
他の機種を選びたい場合は、デバイスの開発元の開発者サイトに行って、AVDとして利用できるデータを得られるかどうか調べる必要があります。たとえばXperiaならソニーモバイルコミュニケーションの開発者サイトで、システムイメージのダウンロードや技術文書の閲覧が可能です。
とくに機種を限定しなくても、なるべくなら日本にもある機種を選んでおきたいというなら、「Garaxy Nexus(スマホ)」「Nexus 7(タブレット)」が、ほぼそれに相当します。
図02 具体的な機種として選べるのは「Nexus」シリーズ


迷うのは、この「装置」は選択しないと仮想デバイスを作成できないことです。図3のように、「OK」ボタンが押せないのは、設定項目が足りないからなのです。
図3 「装置」は選択しないと「OK」が押せない
では、特定の機種にこだわらない「装置」の特性は何なのかというと、端的には「画面の形状と解像度」です。
リストの中には、かなり低い解像度から、重厚精細なタブレット用の形状まであります。さて何を選べばよいでしょうか?2012年に日本で発売されたスマホのほとんどは、Android4対応、解像度は「HD」と示されています。この「HD」とはほぼ「720x1280(または縦横比逆)」と考えておくとよいでしょう。
Android以上はHDというものがたくさんあります。
図4 Android4の画面を作りたければ「720x1280」を選んでおけばよい
2011年頃はAndroid2.3が主流でしたが、搭載機種のほとんどは解像度は横幅が「480」で、縦の長さは機種に応じて800から960などと、各社が1ドットでも伸ばすべく涙ぐましい努力をしています。
標準のライブラリからも、図5のように、「5.4インチFWVGA」「4.0インチWVGA」などいろいろ選べます。
図 Android2.3の画面を作りたければ、とにかく横幅を480にする

違いその2:デバイスが決まるとターゲットが決まる

「デバイス」をリストから選択すると、その下にある「ターゲット」が決まります。デバイスとターゲットがこちらの望む関係に設定されるのはありがたいのですが、事前に「ターゲット」を設定しておいたのに勝手に上書きされてしまうと精神衛生上よくないので、「デバイスを決めてからターゲットを決める」のがよい順番です。

違いその3:デバイスによっては、さらにCPUも選択する

デバイスで「高解像度」のものを選ぶと、さらにCPUを選択する必要がでてきます。通常は「ARMか、Intelか」です。
図6 CPUを選択
CPUを選択できるようにするには、それらのCPUのイメージを「SDKマネージャ」でインストールしておく必要があります。CPUイメージはAPIごとに必要です。
図7 Android4.1.2用のCPUイメージ、インストール済み

違いその4: RAMを指定する

「指定する」というより、デバイス、ターゲット、CPUなどを操作しているうちに自動で設定されます。
仮想デバイスのRAMは多くの場合「1024MB」が設定されたあと、Windowsの場合、図9のように警告が出ます。
図8 RAM1024MBが自動設定される
図9 Windowsの場合の警告
図9の警告には、「Windowsの場合、仮想デバイスに768MB以上のRAMを与えるとエミュレータが起動しない場合があります。その場合は徐々に与えるメモリを減らしてみてください」と書いてあります。

とにもかくにも、図9にあるように、「OK」ボタンが有効になるので、仮想デバイスを作成できます。
AVD作成法の概要
Androidアプリ開発環境構築の概要
このサイトのトップへ