AndroidNDKを使うと、1.6で遊べない?
予定では、参考書を1冊読んでその内容について
レビューするつもりだったんですが、
昼間に6時間ほどうたた寝をしてしまったため、その機会を逸しました。
そういえば、雑記ついでに先日「TAP10」のAndroid版をリリースしたわけですが
Android1.6のXperiaでも動作確認を行っている割に、
Android Marketでの検索に失敗するので色々と調べてみました。
そのうちのひとつが、使わない要素に対してuses-featureで「require=false」を
指定しなければいけない、というものがあります。
調べ方は簡単で、
指定が必要なuses-featureについての情報を調べることができます。
コマンドは、以下です。
aapt dump badging <xxx.apk>
これを行うと、指定が必要なuses-featureなどがわかると思います。
取りあえずアップロードしてみて調べるって言う手段もありますが……。
大抵の人は、この要素がtrueになっているかと思います。
uses-feature:'android.hardware.touchscreen'
確かtouchscreenを必須とするような設定だったかな。
これがあるとAndroid1.6ではフィルタリングされてしまうようなので、
以下のようにAndroidManifest.xmlに記述します。
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
これでマーケットのフィルタリングについて、1つは解消されましたが
私の提出したアプリに関しては以下のような警告が残っています。
この apk は Android マーケットのフィルタリングに使用される 1 件のネイティブ プラットフォームをリクエストしています armeabi
うわー。という感じで、しかし別に平気なんじゃないか?と思うわけですが
何故かAndroid1.6で表示されておらず、Web版マーケットでは「REQUIRES ANDROID:
1.6 and up」
と表示されているにも関わらず、検索しても見つからないのですよね。
……実際インストールすれば動くのに……。
今後の開発では、強制的にAndroid1.6は切り捨てになってしまいそうです。
フィルタリングで弾かれて検索に引っ掛からないのでは、作る意味がないですからね。
キャリアマーケットなら大丈夫だったりするのかなぁ?