1

Google Play でアプリを公開しましたが、Nexus 5、Galaxy S5 など、一部のデバイスではサポートされていないと表示されています。

以下のリンクで提案されているように、AndroidManifest.xml で、小さい画面と通常のサイズの画面のみのフィルターについて言及しました。

http://developer.android.com/guide/practices/screens-distribution.html#FilteringHandsetApps

    <!-- all small size screens -->
    <screen
        android:screenDensity="ldpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="mdpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="hdpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="xhdpi"
        android:screenSize="small" />
    <!-- all normal size screens -->
    <screen
        android:screenDensity="ldpi"
        android:screenSize="normal" />
    <screen
        android:screenDensity="mdpi"
        android:screenSize="normal" />
    <screen
        android:screenDensity="hdpi"
        android:screenSize="normal" />
    <screen
        android:screenDensity="xhdpi"
        android:screenSize="normal" />
</compatible-screens>

サポートされているリストにデバイスを追加するためにさらに何を追加する必要があるかを誰かが提案できますか?私は、これらのデバイスがより高密度であると疑っています.

4

2 に答える 2

1

私はちょうど同様の問題を抱えていました。スマホだけでダウンロードできるアプリを公開したい。タブレット対応については後ほど紹介します。そのため、アプリをスマートフォンでのみ利用できるようにするフィルターが必要でした。アプリは 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 5Galaxy 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

  • 画面サイズ:5.1インチ
  • 密度: 432 ppi

したがって、開発ドキュメント(画面サポート)によると:

Android が実際のサイズと密度を一般化されたサイズと密度に大まかにマッピングする方法 (数値は正確ではありません)

図 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>

于 2015-06-30T09:29:21.793 に答える
0

アプリがサポートする特定の画面<supports-screens><compatible-screens>定義しますが、アプリがサポートする画面の下限を定義します (つまり、より大きな画面もサポートされます)。<supports-screens>

于 2014-07-11T05:58:46.060 に答える