支持的设备数量极低。

7
我有一个应用程序,应该支持大量设备,但当我将其上传到Google Play时,它仅显示支持3个(2263个中的3个)。
我的清单文件如下(除了活动之外):
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="MYPACKAGE"
android:versionCode="101"
android:versionName="@string/app_version" >

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

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.CAMERA" />

<uses-feature android:name="android.hardware.camera.any" />

<supports-screens
    android:anyDensity="true"
    android:largeScreens="false"
    android:normalScreens="true"
    android:smallScreens="true"
    android:xlargeScreens="false" />

<application
    android:name=".MYApplication"
    android:hardwareAccelerated="true"
    android:icon="@drawable/app_icon"
    android:label="@string/app_name"
    android:theme="@style/RPTheme" >

    ACTIVITY DECLARATIONS ARE HERE

    <service android:name="com.parse.PushService" />

    <receiver android:name="com.parse.ParseBroadcastReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.USER_PRESENT" />
        </intent-filter>
    </receiver>
    <receiver android:name="MYPACKAGE.PushReceiver" >
        <intent-filter>
            <action android:name="1" />
        </intent-filter>
    </receiver>

</application>

此外,我已将我的包名更改为MYPACKAGE。

现在我再次看它,也许这与android:hardwareAccelerated="true"有关?但我的理解是,不支持XML声明的API级别会忽略它们。

有人对这里发生的事情有什么想法吗?Play商店是否还会查找其他支持设备的位置?

感谢您的帮助!

编辑:

看起来确实是android.hardware.camera.any,如下所述。我用以下内容替换了它:

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

我的应用现在支持2千多种设备。

1个回答

12

尝试将以下代码注释或更改:

<uses-feature android:name="android.hardware.camera.any" />

PackageManager 的等效值在 Android 4.2 中被添加。而此问题指出:

然而,Play Store 需要新的逻辑来为旧版操作系统的设备提供向后兼容性,这还没有准备好。

因此,在该支持到位之前,请勿使用“android.hardware.camera.any”,因为需要它的任何应用程序尚无法安装在运行4.2版本之前的设备上。

这是一个月前写的,而你的经验表明现在仍然如此。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接