私はちょうど同様の問題を抱えていました。スマホだけでダウンロードできるアプリを公開したい。タブレット対応については後ほど紹介します。そのため、アプリをスマートフォンでのみ利用できるようにするフィルターが必要でした。アプリは Nexus 5 または Galaxy S5 にインストールできませんでした。
これを修正するために、開発ドキュメント(画面配布)で提案されているようにしました( stackoverflowの回答も参照 してください):
<manifest ... >
<compatible-screens>
<!-- all small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<!-- all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
</compatible-screens>
...
<application ... >
...
<application>
</manifest>
しかし、それだけでは十分ではありません。一部の xxhdpi デバイスはサポートされません。最後の行をコピーして貼り付けて「xxhdpi」を追加したくなるかもしれませんが、tt は機能しません (テストしたところ、APK 署名が次のエラーで失敗しました:「エラー APT0000: 文字列型は許可されていません (at 'screenDensity')」値 'xxhdpi' で)") ;)
xxhdpi をサポートするには、dev ドキュメント (互換性のある画面要素)を確認してください。
注: この属性は現在、有効な値として xxhdpi を受け入れませんが、代わりに、xhdpi 画面のおおよそのしきい値である 480 を値として指定できます。
したがって、次のように xxhdpi ではなく480を追加する必要があります。
<screen android:screenSize="small" android:screenDensity="480" />
<screen android:screenSize="normal" android:screenDensity="480" />
さて、Nexus 5とGalaxy S5がサポートされていないことに戻ります。いくつかの仕様を確認してみましょう。
LG Nexus 5 : http://www.gsmarena.com/lg_nexus_5-5705.php
- 画面サイズは4.95インチ。
- 密度: 445 ppi
サムスンギャラクシー S5 : http://www.gsmarena.com/samsung_galaxy_s5-6033.php
したがって、開発ドキュメント(画面サポート)によると:
図 1. Android が実際のサイズと密度を一般化されたサイズと密度に大まかにマッピングする方法を示す図 (数値は正確ではありません)。
上の図でわかるように、画面が「通常」または「大きい」場合があるため、4 ~ 5 インチは少し「注意が必要」です (間違っている場合はコメントしてください)。したがって、基本的に安全を確保するために、大きなサポートを追加する必要がありました。
<screen android:screenSize="large" android:screenDensity="ldpi" />
<screen android:screenSize="large" android:screenDensity="mdpi" />
<screen android:screenSize="large" android:screenDensity="hdpi" />
<screen android:screenSize="large" android:screenDensity="xhdpi" />
<screen android:screenSize="large" android:screenDensity="480" />
Play ストアでテストしたところ、Nexus 5 を所有している同僚がアプリをダウンロードできました。このように、とにかく、一部の小さなタブレットまたはファブレット (画面サイズが 4 ~ 7 インチ) はアプリをダウンロードできますが、少なくとも超大型画面 (7 インチより大きい) の最新のタブレットはダウンロードできません。私の場合、これは許容範囲です...これが役に立てば幸いです...</p>
…4 インチから 5 インチの間のゾーンについて間違っている場合はコメントしてください。これは私にはよくわかりません。普通か大きいか…</p>