Excite Smartphone Engineer's Blog

2012年 12月 04日

いち早くKindle Fireを体験してみよう(エミュレータで)

こんにちは〜ヾ(´ω`=´ω`)ノ

突然ですが、Amazon Appstoreがついに公開されましたね。そしてKindle Fire(以下Kindle)の国内販売も、もう間近。

さまざまな期待や意見、その他もろもろがあると思いますが、エンジニア的には何はともあれ「自分たちが作ったアプリは、Kindleでちゃんと動いてくれるんだろうか?どんな風に表示されるんだろうか」という不安が一番大きいんじゃないでしょうか?

しかしAmazon Appstoreが11月28日に公開されたのに対し、Kindle本体の国内販売は12月19日。まだKindle本体で直接動作確認することはできません。こうなったら北米版を購入するしかないんでしょうか……。ああ、せめてKindleのエミュレータでもあれば……。

あります、ありますよ。Kindleのエミュレータは既に公開されています。
そんなわけで、今回はKindleのエミュレータを動かす手順や、その他もろもろをご紹介します。

(注意)エミュレータの情報はどんどん更新されていくと思うので、常に公式の情報を確認するようにしましょう。
https://developer.amazon.com/sdk/fire/emulator-guide.html




Kindleエミュレータの追加方法は簡単です。Android SDKマネージャをまず開いて、メニューバーのToolsからAdd-on sitesを選んで、Userを選んで、New..を選んで、出てきたテキスト欄に
http://kindle-sdk.s3.amazonaws.com/addon.xml
を入力してOKを押すだけです!簡単でしょう?

e0291676_13395667.png

簡単でしょう?

そうするとSDKマネージャのOS4.0.3カテゴリの中に、Kindle関連のエミュレータが追加されているので、チェックしてインストールしてしまいましょう。

e0291676_13402181.png


あとは普通にエミュレータを作る手順と同じです。ターゲットの中にKindle端末のターゲットがあるので、お好きなものを選択してください。画面サイズやCPU、OSは決められたパラメータがセットされます。外部ストレージは好きな値をいれればいいでしょう。

起動すれば、目の前に、まだ日本で販売されていないのKindleの姿が!
というわけで、エミュレータ上でも各Kindleでの画面レイアウトは確認できそうです。ちなみに国内で発売される3端末(ただし一つはPaperwhiteなので除外)の解像度とか、layoutのカテゴリ(hdpiとかxhdpiとか)は、どうなっているんでしょうか。

ついでに調べてみました。国内の販売が発表されていない8.9インチのKindle HDも含めちゃいます。

e0291676_13431319.png

インチサイズと解像度からdpiを計算する処理を間違えたら恥ずかしいので、valuesでstring.xmlの中身を変えるという力技で確認してみたいと思います。他はDisplayMetricsクラス等からとってきた値を表示してみます。

結果、こうなりました(画像の縮小率が違うので、ステータスバーとかの幅が違うのはご愛嬌)
e0291676_13435841.png

あれ、Kindle Fire君、キミだけちょっと、背が高いですね……。

ともあれなんとKindle Fireはlarge-mdpi!そしてKindle FireHDの8.9インチ版はxlarge-hdpi!
画像では見づらいので、解像度のサイズ部分をリストアップします。

Kindle Fire(2世代目)
サイズ(px):600 x 1024
ピクセル密度:160dpi
サイズカテゴリ:large-mdpi
備考:HDと比べて、若干縦に長い

Kindle Fire HD 7インチ
サイズ(px):800 x 1280
ピクセル密度:240dpi
サイズカテゴリ:large-hdpi
備考:特になし

Kindle Fire HD 8.9インチ
サイズ(px):1200 x 1920
ピクセル密度:240dpi
サイズカテゴリ:xlarge-hdpi
備考:国内販売未定(2012年11月現在)

8.9インチ版の国内販売は未定ですが、Fire(2世代目)とFireHD7インチ版の2つを比べても、画面比率やピクセル密度、解像度が大きく違っています。Amazon Appstoreでのアプリ展開を考えているのであれば、各Kindleでの表示対応に気をつける必要がありそうです。

ちなみに、エミュレータ上で起動したエキサイトニュースの画面はこちらです。

e0291676_13443430.png

「反」の文字など、若干表記が怪しいものがあります。フォントに関しては、国内版では大きく変わる可能性もあるので、参考程度にとどめた方が良さそうです。

さらに、アプリをFLAG_FULLSCREEN等で設定していると、バックボタンやホームボタンまで隠れてしまうようです。
e0291676_13465848.png


バックボタンを押すまでに1タップ余分な動作が増えてしまう分、UIの印象が変わってしまいます。Amazon Appstore専用のアプリを考えている場合は、この点を意識した方がよさそうです。

おまけ

実は社内で北米版のKindle FireHD(7インチ)を購入している方がいらっしゃったので、Macに繋いでEclipse上からプロジェクトを実行させる手順なども試していました。
せっかくなので、Mac上でKindle Fire HDを動作させるための手順も紹介します。

(公開前に追記)
すみません、実はこの記事書いてから気付いたのですが、上記のアドオン追加時に、SDKマネージャーのExtrasの中に「Kindle Fire Device Definitions」と「Kindle Fire USB Driver」が追加されていることに気がつきました。なのでこの2つをインストールしてしまえば、下記の手順無しでKindle端末からの実機確認ができるかもしれません(出来ない場合は、下記の方法も試してみてください)

1. adbの設定ファイル(~/.android/adb_usb.ini)に「0x1949」を追加

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x1949



2. adbを再起動

$ ./adb kill-server
$ ./adb start-server



あとはKindleをMacとUSBで繋いで、adbで認識できれば、通常のAndroid端末と同様です。
adbの設定ファイルは、SDKマネージャなどでadbが更新されるときに中身が初期化されてしまう場合があるようなので、注意しましょう。

以上、エンジニアの山田でした。

by sp_tech | 2012-12-04 14:49 | Android | Comments(0)


<< アプリ内でApp Storeが...      iPad mini にピッタリ... >>