我已经在Google Play中发布了一个应用程序,在测试过程中,我发现有些设备需要ACCESS_WIFI_STATE的额外权限,所以我添加了它,一切都很顺利。
将其添加到Google Play并尝试在需要许可的设备上下载(在这种情况下,它是Galaxy Tab 2),我收到以下错误:
Previously active APKs supported more devices than those in the draft configuration. Some devices will not receive upgrades.
Devices currently running version 1 are no longer supported by the current configuration. Such devices will not receive upgrades.
API levels in range 14+ and
Release track containing any of [ALPHA] and
Screen layouts containing any of [small, normal, large, xlarge] and
Native platforms containing any of [armeabi, armeabi-v7a, mips, x86] and
Features containing all of [android.hardware.BLUETOOTH, android.hardware.CAMERA, android.hardware.camera.AUTOFOCUS, android.hardware.screen.PORTRAIT, android.hardware.TOUCHSCREEN] but excluding any of [android.hardware.WIFI]
我的清单是这样的:
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.android.vending.BILLING"/>
有人可以解释为什么会出现此错误吗?我看到的唯一设备是我需要添加给定权限的确切设备。
Old Manifest就是这样:
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.android.vending.BILLING"/>
答案 0 :(得分:0)
来自uses-permission documentation:
在某些情况下,您请求的权限 可以影响您的应用程序的过滤方式 Google Play。
如果您请求与硬件相关的权限 - 例如
CAMERA
- Google Play假定您的应用需要基础版 硬件功能,并从没有的设备中过滤应用程序 提供它。要控制过滤,请始终明确声明硬件功能
<uses-feature>
元素,而不是依靠Google Play “发现”<uses-permission>
元素中的要求。然后,如果 如果要禁用特定功能的过滤,可以添加android:required="false"
属性声明。有关暗示硬件功能的权限列表,请参阅
<uses-feature>
元素的文档。
所以你可以添加
<uses-feature android:name="android.hardware.wifi" android:required="false" />
如描述here。