0

我为所有拍照手机创建了一个应用程序。但是,当我将应用程序上传到 playstore 时,HTC One被列为不受支持的设备。因此 HTC One 用户无法安装该应用程序。

这里还有一些不受支持的设备Sony Xperia Z、HTC One 和三星 Galaxy S4。

我的清单的一些行:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<compatible-screens>

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

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-feature android:name="android.hardware.camera" />
<uses-feature
    android:name="android.hardware.camera.autofocus"
    android:required="false" />
<uses-feature
    android:name="android.hardware.camera.flash"
    android:required="false" />
4

3 回答 3

2

我的 S4返回DisplayMetrics.DENSITY_XXHIGH的密度 Dpi和 Configuration.SCREENLAYOUT_SIZE_NORMAL。因此,您必须将这些设置添加到清单中。HTC One 和 Xperia Z 的值可能与 S4 相同。

此外,最新的 api 版本是 18。您可能需要考虑更新android:targetSdkVersion.

于 2013-09-13T16:45:39.613 回答
1

Play 的过滤功能完全按照您在 Manifest 中的说明进行。由于您正在使用该元素并且仅列出 ldpi-xhdpi 和小型正常屏幕,因此您将得到什么。请注意,您需要指定您希望应用程序在其上运行的每个配置[1]。因此,如果出现新设备,例如 xxhdpi 或尚不存在的大型甚至新奇配置,您将需要更新您的应用程序。

解决方案是找出您希望应用程序在其上运行的设备的密度/屏幕尺寸并添加它们,或者使用该元素。或者关闭任何屏幕过滤,具有适当设计布局的应用程序应该可以在任何屏幕尺寸上运行,即使它没有针对平板电脑进行优化。

[1] http://developer.android.com/guide/topics/manifest/compatible-screens-element.html

于 2013-09-13T16:57:52.380 回答
0

感谢您的回答,这有助于我解决此问题。

由于一些最新手机(索尼 Xperia Z、HTC One 和三星 Galaxy S4)的屏幕密度是 xxhpdi 和android:screenDensity该属性目前不接受 xxhdpi 作为有效值,但您可以指定 480 作为值,即xhdpi 屏幕的近似阈值。

只需在清单中添加以下几行即可。

<screen
    android:screenDensity="480"
    android:screenSize="normal" />
于 2013-09-14T04:09:44.993 回答