2011-08-30 95 views
3

上的功能(S)不可用我在Android Market的Android应用程序,但一些用户抱怨显示错误的安装开始时,只需下载后:应用程序需要您的设备

enter image description here

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

据我所知,这个错误只发生在运行Eclair的摩托罗拉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" /> 
+0

你会发布用户抱怨的功能不可用的列表吗? – Shlublu

+0

当设备不支持请求的权限时,市场不应该向设备发布应用程序。 Motorala Droid是否在Android市场发行商控制台的“兼容设备”列表中? – rds

+0

抱歉rds,我不知道在哪里可以找到市场控制台中的兼容设备列表。我检查了这个设备的规格,它似乎具有运行该应用程序所需的所有功能... =/ –

回答

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相同。

1

按照docs

Android电子市场试图通过检查申报等元素来发现应用程序的隐含功能 要求清单 文件,具体来说,<使用权限>元素。

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

+1

'android:required'默认为true,所以它不应该在这里设置。 – CrackerJack9

相关问题