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インチタブレット向けには販売できなかったのは残念ですが、あー良かったー!