我们有一个android应用程序,其清单设置以下配置:
minsdkVersion = "4"
<supports-screens
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="false" />
但是,当拥有摩托罗拉XOOM设备的用户浏览Android电子市场时,他不会显示我们的应用程序。
为什么会这样?
答案 0 :(得分:24)
我有同样的问题。与包括android:xlargeScreens="true"
一起,我发现这是修复。
Android Market视为请求CALL_PHONE等权限请求:
<uses-feature android:name="android.hardware.telephony" />
XOOM没有电话 - 第一个Android Market兼容 具有该限制的设备。虽然它 可以有一个数据计划,它没有声音 或SMS功能,所以它是 被视为没有 android.hardware.telephony。但是,如果 你请求权限,如 CALL_PHONE,Android Market by 默认会假设您需要 android.hardware.telephony。作为一个 结果,你将被过滤掉 XOOM的市场。
解决方案很简单:对任何人来说 可能的硬件功能 权限暗示,但你这样做 不是绝对需要,手动添加 适当的要素 你的清单 机器人:需要= “假”:
<uses-feature android:name="android.hardware.telephony" android:required="false" />
来自此博客: The CommonsBlog - XOOM, Permissions, and the Android Market
答案 1 :(得分:2)
您是否已开启复制保护? 我有一个类似的问题,一些Xooms可以看到我的应用程序,但有些不能。 显然,启用复制保护(在上传后的应用程序设置中)可能会阻止某些设备查看/下载应用程序。如果这是造成问题的原因,只需关闭复制保护就可以解决问题。 Google建议您使用许可服务来保护您的应用:http://developer.android.com/guide/publishing/licensing.html
答案 2 :(得分:1)
XOOM有一个超大屏幕,因此您需要在清单中显示android:xlargeScreens="true"
。
修改:似乎默认为true。请参阅下面的评论。
答案 3 :(得分:1)
记住!
<uses-sdk android:minSdkVersion="X" android:targetSdkVersion="11" />
targetSdkVersion会照顾你;)
答案 4 :(得分:1)
您是否在应用中请求了任何电话权限,例如: READ_SMS
或CALL_PHONE
?如果是这样,那么市场将推断需要电话支持,这意味着它不适用于Xoom。
如果是这种情况,那么您需要更新AndroidManifest.xml以使电话功能可选:
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
当电话功能不存在时,您还需要确保您的应用正常应对!
有关如何检查市场为您的应用提供的设备的更多详细信息,请参阅我的回答here。
除非您在AndroidManifest.xml中明确包含android:xlargeScreens="true"
,否则不需要[supports-screens][2]
权限(您不应该这样做,因为默认设置会使其适用于所有屏幕尺寸)