3

我在 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" />
4

3 回答 3

2

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

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

运行 Eclair 的摩托罗拉 Droid 设备无法安装声明

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

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

于 2011-08-31T15:33:43.540 回答
1

根据文档

Android Market 试图通过检查清单文件中声明的其他元素(特别是 <uses-permission> 元素)来发现应用程序的隐含功能要求。

鉴于此,您是否尝试过删除 uses-feature 标签?由于这些是由 uses-permissions 标签所暗示的,并且您没有使用“android:required”属性。

于 2011-08-30T16:16:14.327 回答
1

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

于 2019-08-09T15:07:46.567 回答