【问题标题】:Permissions not supporting device权限不支持设备
【发布时间】:2013-12-05 13:15:02
【问题描述】:

我在 Google Play 上发布了一个 alpha 版应用,在测试过程中我发现一些设备需要额外的 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"/>

谁能解释为什么会出现这个错误?我看到它的唯一设备就是我需要添加给定权限的设备。

旧清单是这样的:

   <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"/>

【问题讨论】:

  • 请同时添加旧清单的相应部分。
  • 完成,我只添加了

标签: android permissions google-play android-manifest


【解决方案1】:

来自uses-permission documentation

在某些情况下,您请求的权限 可能会影响您的应用程序的过滤方式 谷歌播放。

如果您请求硬件相关权限 - 例如CAMERA - Google Play 假定您的应用程序需要底层 硬件功能并从不支持的设备中过滤应用程序 提供它。

要控制过滤,请始终在 &lt;uses-feature&gt; 元素,而不是依靠 Google Play 来 “发现”&lt;uses-permission&gt; 元素中的要求。那么,如果 您想禁用对特定功能的过滤,您可以添加一个 声明的android:required="false" 属性。

有关暗示硬件功能的权限列表,请参阅 &lt;uses-feature&gt; 元素的文档。

所以你可以添加

&lt;uses-feature android:name="android.hardware.wifi" android:required="false" /&gt;

就像描述的here

【讨论】:

  • 谢谢,我试试看。但是我更好奇为什么专门告诉我(通过日志)添加 WIFI 权限的设备没有说它不支持它,或者至少 Play 是这样说的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多