我有一个应该在大量设备上支持的应用程序,但是当我将其上传到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之前版本的设备上.
这是一个月前写的,你的经验表明情况仍然如此.
归档时间: |
|
查看次数: |
479 次 |
最近记录: |