旧. -開発日記-

〜とあるプログラマーのつぶやきや開発メモなど〜

AndroidManifest.xmlでのuses-featureについて

当方のアプリ「Doodle Maker」をタブレット対応化したのですが、
私は個人でNexus7を所有しており、当然開発時も検証にそちらを使用していました。

そしていざアップデートが完了し、自分で検索してみたらアプリが一向に見つからない。
おかしいと思い、Google Developer Consoleで調べてみたらなんと
AndroidManifest.xmlが原因でNexus7が非対応となってるではありませんか!


色々調べてみたら、なんとこんなことが。
http://android.roof-balcony.com/api-reference/uses-feature/
「mucchinのAndroid戦記」さんより

「Doodle Maker」はカメラ機能を必要としているため、Permissionとして
上記を指定してやる必要があります。


ただここで注意点なのですが、
android.permission.CAMERAを指定し、かつ<uses-feature>を
明示しなかった場合、自動で下記が有効化されることとなります。

<uses-feature android:name="android.hardware.camera" android:required="true">
<uses-feature android:name="android.hardware.camera.autofocus" android:required="true">


ややこしいのですが、android.hardware.camera
これが "true" になっていると、
Nexus7はフトントにしかカメラがないことが原因で
Google Play上ではフィルタリング対象となってしまい、
検索でひっかからなくなってしまいます。

カメラ機能をフルに使ったアプリで、かつNexus7にも対応させるために、
上記を追記してやることで、無事Nexus7からもダウンロードすることが可能になりました。