Category Archives: Android

Android

自作アプリが「このアイテムはお使いの端末に対応していません。」と表示されて超あせった話

Published by:

Android用パズルゲームアプリの「リアル上海」を開発、公開していますが、先日バージョンアップした後から、自分が普段から使っているタブレット(Motorola社製のXoom。Android4.0)でアプリのページを開くと、「このアイテムはお使いの端末に対応していません。」と表示されて?!?!?!状態になりました。

開発用スマホ(IS03。Android2.3)では問題なく、ほかの公開アプリ「リアル四川省」でも問題なし。
もちろんXoomでも、以前のバージョンではこんなことありませんでした。

バージョンアップの際にAndroidManifest.xmlを修正したのはバージョン情報のところだけで、追加のパーミッションやSDKバージョンの変更なども行っていません。

エラーメッセージである「このアイテムはお使いの端末に対応していません。」で検索しても、root化したデバイスでアプリがインストールできませんとかのユーザーサイドのトラブルだけで、開発者サイドの情報は何もなし。

一つ怪しいとにらんだのは、Google playのDeveloper Console(開発者用の公開設定画面)にて、7インチタブレット&10インチタブレット向けにスクリーンショットの画像を追加したこと。
これまでこの設定オプションは無かったのですが、「あ、こんなの登録できるようになったんだ」と軽い気持ちでスクリーンショットをそれぞれ何枚かずつアップロードしていました。

開発者用コンソール画面

開発者用コンソール画面

試しに、これらの画像をすべて削除して様子を見ていたのですが、結局Xoomで表示されるエラーメッセージは変わりありませんでした。

涙目でAndroidManifest.xmlを眺めていて、ふと思いつき、エラーメッセージを英語に置き換えてググってみたら、stackoverflowで同じトラブルで困っている人見つけたー!

Android Market: “This item is not compatible with your device.”
This is really getting on my nerves. I have tried like everything to get my App to work on some more exotic tabs!

解決策として挙げられていたものの中に見つけた、「<supports-screens … android:xlargeScreens=”true”/>」をAndroidManifest.xmlで指定するという方法。
自分のAndroidManifest.xmlを改めてみてみると、そもそもsupports-screens要素を記述していませんでした。
さっそく下記のタグを追加して、新しいAPKファイルをアップロードしたら・・・

<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
解決した――――!

解決した――――!

aaptコマンドなどでも確認したのですが、supports-screens要素を指定しない場合、「android:xlargeScreens=”false”」指定と同じ扱いになるのですね。
Xoomは10インチタブレットなので、xlargeサイズ扱いとなり、対象外になってしまったと。

これまでずっと問題なかったのに突然使えなくなったのは、やはり10インチタブレット向けのスクリーンショット画像を追加したことがトリガーになったのだと思われます。

丸一日10インチタブレット向けには販売できなかったのは残念ですが、あー良かったー!

Android プログラミング

Nexus7用エミュレータが起動しない、「Unfortunately, Launcher has stopped.」の直し方

Published by:

Android爆速エミュレータ環境の作り方」を参考にして、Intel CPU版の快速Nexus7用エミュレータ環境を作れたのですが、たまにエミュレータが起動しなかったり、ランチャー(アプリ一覧)を開くと「Unfortunately, Launcher has stopped.」のメッセージが出て操作できなくなることがあります。

そんな時は、「C:/Users/<ユーザー名>/.android/avd/<AVD名>.avd/config.ini」を次のように修正すると直りますよ!

config.ini

hw.ramSize=1024MB ← 「hw.ramSize=1024」に「MB」をつける。
vm.heapSize=64MB ← 「vm.heapSize=32」とかになってたら増やしてあげる。