为什么我的应用程序不能仅与特定设备的某些运营商版本兼容,我该如何解决?看看这个:
所以只有拥有v1a3g模型或viennalte模型才能支持我的应用。但是,如果他们使用verizon或att版本,他们就无法下载我的应用。
这很麻烦,因为我收到了想要下载我的应用程序的Note Pro 12.2平板电脑用户的电子邮件,但不能。
根据谷歌的说法,原因是:
This device model is not supported in your app's APK manifest and hence users of this device model cannot install your app.
为什么我的清单中不支持它?我查了一下,我的清单并没有排除这个设备!这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.my.app.censored">
<uses-sdk tools:overrideLibrary="com.robertsimoes.shareable" />
<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-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="false" />
<application
android:name=".myapplicationname"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppThemeDark">
<meta-data
android:name="com.samsung.android.icon_container.has_icon_container"
android:value="true" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="censored" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name="com.zendesk.sdk.support.SupportActivity"
android:theme="@style/SupportTheme" />
<activity
android:name=".SplashActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.BrandedLaunch">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
我已经在stackoverflow上搜索了这样的问题,如果apk尺寸太大(比如大于20mb),有人建议某些平板电脑无法下载应用,但我的只有7mb。
答案 0 :(得分:3)
当您使用<uses-permission>
元素时,Google Play会自动将您的应用标记为在各种设备上不受支持。解决方案是将<uses-feature>
标记与android: required="false"
一起使用。然而,应用程序实际上不需要这些功能,否则它将无法正常运行。
如果您想知道为什么不支持某个特定设备,请点击屏幕截图中显示的Google Play中列出的设备右侧的小箭头。然后单击“跟踪级别状态”旁边的箭头。
另请注意,不支持您的应用所需的SDK版本的设备也将不受支持
有关完整文档,请参阅以下链接。
以下是官方文件说的内容:
要控制过滤,请始终在<uses-feature>
元素中明确声明硬件功能,而不是依赖Google Play来“发现”<uses-permission>
元素中的要求。然后,如果要禁用特定功能的过滤,可以向android:required="false"
声明添加<uses-feature>
属性。
资源:
https://developer.android.com/guide/topics/manifest/uses-permission-element.html