【问题标题】:Application does not show up in Android Market for Motorola XOOM tablet摩托罗拉 XOOM 平板电脑的应用程序未显示在 Android 市场中
【发布时间】:2011-12-14 04:27:37
【问题描述】:

我们有一个android应用,它的manifest设置了以下配置:

minsdkVersion = "4"

<supports-screens 
                  android:normalScreens="true"
                  android:largeScreens="true"
                  android:anyDensity="false" />

但是,当使用摩托罗拉 XOOM 设备的用户浏览 Android Market 时,他不会显示我们的应用程序。

为什么会这样?

【问题讨论】:

    标签: android google-play android-3.0-honeycomb


    【解决方案1】:

    我有同样的问题。除了包含android:xlargeScreens="true",我发现这是解决方法。

    Android Market 将请求权限视为 CALL_PHONE 也请求:

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

    XOOM 没有电话—— 第一个符合 Android Market 标准的 具有该限制的设备。虽然它 可以有数据计划,它没有声音 或短信功能,所以它是 视为没有 android.hardware.telephony。但是,如果 您请求权限,例如 CALL_PHONE,Android 电子市场 默认会假设你需要 android.hardware.telephony。作为一个 结果,你会被过滤掉 XOOM 的市场。

    解决方案很简单:对于任何 可能的硬件功能 权限暗示,但你这样做 不是绝对需要,手动添加 适当的元素 你的清单 android:required="false":

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

    来自这个博客: The CommonsBlog - XOOM, Permissions, and the Android Market

    【讨论】:

      【解决方案2】:

      您是否打开了复制保护? 我有类似的问题,一些 Xooms 可以看到我的应用程序,但有些不能。 显然,打开复制保护(在上传后的应用程序设置中)可以阻止某些设备查看/下载应用程序。如果这是导致问题的原因,只需关闭复制保护即可解决问题。 Google 建议您改用许可服务来保护您的应用:http://developer.android.com/guide/publishing/licensing.html

      【讨论】:

        【解决方案3】:

        XOOM 具有超大屏幕,因此您需要在清单中添加android:xlargeScreens="true"

        编辑:似乎这默认为 true。请参阅下面的评论。

        【讨论】:

        • 按照 :developer.android.com/guide/appendix/market-filters.htmlAs 的一般规则,Market 假设设备上的平台可以将较小的布局适应较大的屏幕,但不能将较大的布局适应较小的屏幕。因此,如果应用程序声明仅支持“普通”屏幕尺寸,Market 会将该应用程序提供给普通和大屏幕设备,但会过滤该应用程序,使其不适用于小屏幕设备。
        • 以上是不是意味着如果设备有 largeScreen="true" 也支持 xlargeScreen?
        • @khotmanish 提到的文档有点模棱两可,因为第一句说 larger,暗示 large 和 xlarge,而第二句只说 large.
        • 看来我错了。如果 minSdk 或 targetSdk >= 4,则所有 supports-screens 属性的默认值为 true。根据:developer.android.com/guide/topics/manifest/…
        【解决方案4】:

        记住!

        <uses-sdk android:minSdkVersion="X" android:targetSdkVersion="11" />
        

        targetSdkVersion 会照顾你 ;)

        【讨论】:

          【解决方案5】:

          您是否在应用中请求任何电话权限,例如READ_SMS 还是 CALL_PHONE?如果是这样,那么市场将推断需要电话支持,这意味着它不适用于 Xoom。

          如果是这种情况,那么您需要更新您的 AndroidManifest.xml 以使电话功能可选:

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

          您还需要确保您的应用在电话功能不存在时能够正常应对!

          请参阅我的回答 here,详细了解如何查看电子市场在哪些设备上提供您的应用。

          android:xlargeScreens="true" 权限不是必需的,除非您已在 AndroidManifest.xml 中明确包含 [supports-screens][2](您不应该这样做,因为默认设置会使其适用于所有屏幕尺寸)。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-02-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多