支持的设备非常低

7 xml android

我有一个应该在大量设备上支持的应用程序,但是当我将其上传到Google Play时,它表示只支持3个(2263个中).

我的清单看起来像这样(减去活动):

<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>
Run Code Online (Sandbox Code Playgroud)

另外,我用MYPACKAGE替换了我的包名.

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

任何人对这里发生的事情都有任何想法?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" />
Run Code Online (Sandbox Code Playgroud)

我的应用程序现在有2k +支持的设备.

Com*_*are 12

尝试评论或更改:

<uses-feature android:name="android.hardware.camera.any" />
Run Code Online (Sandbox Code Playgroud)

PackageManager 在Android 4.2中添加了等效值.而这个问题说:

但是,Play商店需要新的逻辑来为具有较旧OS版本的设备提供向后兼容性,这些设备尚未准备就绪.

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

这是一个月前写的,你的经验表明情况仍然如此.