2014/08/17

[android]Emulatorが立ち上がらんときは、Use Host GPUをチェックするとよいかもしれん

久しぶりに、Androidのエミュレータを使うことになった。
というのも、AndroidアプリをGoogle Playにアップするためにはスクリーンショットが必要なんだけど、「電話」っていうサイズのスクリーンショットがあるからだ。
うちにはNexus7しかないため、これはきっとエミュレータで実行して撮れ、ってことなのだろうと解釈している。

 

まず最初につまずいたのは、選択するAPIバージョン。
バージョンが上の方なら何でもいいじゃろう、と思い、4.4Wを選択。
今ならわかるのだけど、Wは"Wear"のW。
立ち上がったのはいいけど、ホーム画面は出てこないしアイコンは出てこないし、なんじゃこりゃ、と思って調べてわかった次第だ。

 

その次につまずいたのが、表題。
4.4.2で作ったのだけど、立ち上げても"android"のアニメーションが始まらない。
うちのマシンは遅いから、と放置していたが、さすがに5分も動かんのはおかしい。
logcatを見ると、SurfaceFlingerが「フレームバッファがない」みたいなことを言っている。
これはうちのPCが貧弱なせいか?

そう思って調べると、Stackoverflowにあった。
http://stackoverflow.com/questions/21845358/android-emulator-cant-be-started
"Use Host GPU"にチェックを入れたら?とあったので、設定を変更しなおすと、アニメーションが出た。
そういうことなんですか。。。

 

さて、最後かどうかわからないが、まだつまずいている。
またしてもNFCを使うアプリなんだけど、onCreate()でNFCを使用できるかどうかチェックしているので、エミュレータだとまったく起動できない・・・。
チェックを外せばいいんだけど、それってスクリーンショットの偽造になるのでは?

そしてもう1つ・・・。
4.4.2でGPUを使う設定にしているとDDMSでスクリーンショットが撮れないらしい。
https://code.google.com/p/android/issues/detail?id=62284

まあ、単なるスクリーンショットだから画面キャプチャでいいんだけどね。


そんなこんなして、Google Playにアプリ置きました。
https://play.google.com/store/apps/details?id=com.blogpost.hiro99ma.flfmt

Formatと書いているが、やってるのはQuick Formatみたいなものだ。
とりあえず、MIFARE Ultralight系だったら40ブロックまでは0x00で埋めようとしているし、FeliCa Lite系だったら13ブロックまでは0x00で埋めようとしている。

それはよいのだが、アプリをインストールするときに「特に権限不要」と出てきた。
いやいや、NFCの権限はいるんですけど・・・。
アプリ情報を見ると、ちゃんと「許可」欄には出てきている。
うーん、そんなものなのか?

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。