【问题标题】:App won't install on Tablet in market应用程序不会安装在市场上的平板电脑上
【发布时间】:2012-02-09 14:01:20
【问题描述】:

我无法通过市场将我的应用安装到平板电脑上。注意我没有使用 Honeycomb,因为该应用程序主要用于手机。以前我使用级别 7,但现在将其更改为级别 10 (2.3.3) 以支持 xlargeScreens。该应用程序通过 adb 安装在我的平板电脑上,效果很好,但无法通过市场安装。

我已经阅读了几篇关于 SO 的帖子,并认为在添加 support-screen 属性后我的清单是正确的。

这是我的清单中最重要的部分:

<uses-sdk android:minSdkVersion="7" />

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

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

知道我哪里出错了吗?

提前致谢。

【问题讨论】:

  • 预期的功能是什么,您实际看到了什么?有错误吗? Logcat 输出?
  • 这是什么平板电脑。它运行的是什么操作系统版本?
  • 我的平板电脑是 Acer Transformer prime。没有错误,我的应用程序可以在我的平板电脑上运行,只是无法从市场上安装

标签: android android-manifest android-market-filtering


【解决方案1】:

这可能是你的 android.permission.MODIFY_PHONE_STATE。

查看这个特定于 2.3+ 的官方问题

http://code.google.com/p/android/issues/detail?id=15031

The MODIFY_PHONE_STATE permission was marked as "for system use only" in Android 2.3.

While this was never intended for developers and publicly endorsed by Google, there are hundreds of apps in the marketplace using it. Unfortunately, a seemingly innocent checking by the Android folks has now crippled many popular apps for Android 2.3+. 

This is an ENHANCEMENT request that you:

 1. Restore the MODIFY_PHONE_STATE permission for Android 2.3.x 
 2. Create a proper Telephony API for Android 2.3+ (at which time you can remove the MODIFY_PHONE_STATE permission)

【讨论】:

  • 谢谢你,这让我发疯了。 Android 应该为开发者提供一个测试市场。我最终安装了 4 个版本的应用程序以使其正常工作。
【解决方案2】:

如果问题与 MODIFY_PHONE_STATE 相关

也许你可以试试:

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

永远不要尝试这个,但你可以检查一下。

顺便说一下,这里有关于市场过滤的信息 Market Filtering

【讨论】:

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