【问题标题】:application requires feature(s) not available on your device应用程序需要您的设备上不可用的功能
【发布时间】:2011-08-30 13:39:14
【问题描述】:

我在 Android Market 上有一个 Android 应用程序,但一些用户抱怨在下载后开始安装时显示错误:

其中一个人给我发了一段显示此错误的视频,我可以看到此错误不是由应用程序引起的,而可能是在验证权限/功能过程中。

据我所知,此错误仅发生在运行 Eclair 的 Motorola Droid/Milestone 设备上,而 Froyo 不会发生此错误。不幸的是,我无法访问任何像这样的设备来运行 logcat 并检查发生了什么。

这是我对 AndroidManifest.xml 的许可/功能:

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.location" />
<uses-feature android:name="android.hardware.telephony" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

【问题讨论】:

  • 您会发布用户抱怨的不可用功能列表吗?
  • 当设备不支持请求的权限时,市场不应向设备发布应用程序。 Motorala Droid 是否在 Android 市场发布者控制台的“兼容设备”列表中?
  • 对不起,我不知道在哪里可以找到市场控制台中的兼容设备列表。我检查了此设备的规格,它似乎具有运行应用程序所需的所有功能... =/
  • 截图帮助您找到兼容设备列表:i.imgur.com/ocLH6.png 它位于“编辑应用程序”页面
  • 谢谢谢尔盖!根据发布者控制台,只有三星 Nexus S(crespo4g) 和 S(crespo) 兼容。这不是真的,因为我的应用程序在 39 种不同的设备上运行,包括带有 Froyo 的 Motorola Droid。

标签: android motorola motorola-droid android-2.0-eclair


【解决方案1】:

我终于通过获取 Droid 设备并运行 logcat 发现了发生了什么:

E/PackageManager(1280):包 com.mycompany.myapp 需要不可用的功能 android.hardware.telephony;失败!

运行 Eclair 的 Motorola Droid 设备无法安装声明

的应用程序
<uses-feature android:name="android.hardware.telephony" />

在他们的清单中。不过,这很奇怪,因为 Android Market 应该对这些设备隐藏它。这可能是由摩托罗拉对 Eclair 所做的更改引起的错误,因为运行 Eclair 的其他设备不会发生这种情况,运行 Froyo 的 Droid 也不会发生这种情况。

【讨论】:

    【解决方案2】:

    根据docs

    Android Market 尝试发现应用程序的隐含功能 通过检查清单中声明的​​其他元素来满足要求 文件,特别是 元素。

    鉴于此,您是否尝试过删除 uses-feature 标签?因为这些是 implied 的使用权限标签,并且您没有使用“android:required”属性。

    【讨论】:

    • android:required 默认为 true,因此此处未设置它们应该没有关系。
    【解决方案3】:

    当我安装从 Play 商店下载的应用程序时,设备说“此功能在此设备中不可用”,我必须授予它权限

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      • 2021-12-25
      • 2016-05-16
      • 2016-01-26
      • 1970-01-01
      相关资源
      最近更新 更多