Android App在很多设备上都不兼容

时间:2013-05-29 05:50:24

标签: android incompatibility

我是在Android Play商店发布的颇受欢迎的游戏的开发者。直到最新版本,大多数设备,如果不是全部,都能够下载并享受这个游戏。然而,对于这个最新版本,许多旧设备(约2岁?)已开始将游戏视为与其设备“不兼容”。

diff编辑了两个版本的清单文件,弹出的唯一区别是对android:versionNameandroid:versionCode的更改。

我相关的帖子暗示这可能是因为APK可能对设备来说太大了。虽然确实我们确实让APK位于~49 mb,但它只是从48.66增长 - > 48.68这个版本,所以我觉得很难相信这就是原因。

不兼容设备列表非常广泛,但这里有一些突出的内容......

  

galaxy nexus
  三星galaxy tab 10.1
  三星Galaxy Tab 7.7
  eeepad asus变压器tf101
  摩托罗拉XOOM
  Acer Iconia Tab A700

此列表直接来自我们(以前的?)客户,但我已在Galaxy选项卡10.1和Transformer上验证了这一点。 Tab 2和Nexus 7能够看到它,如果有帮助的话。

更新:这些设备在开发者控制台中显示为兼容。

这些事情决定的方式最近有变化吗?是否有任何服务告诉我们为什么该应用程序被认为是不兼容的?

我的应用的权限部分位于

之下
<permission android:name="com.nubee.japanlife.permission.C2D_MESSAGE" android:protectionLevel="signature"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="com.nubee.japanlife.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_SMS" /> 
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="7"/>

1 个答案:

答案 0 :(得分:0)

我可以看到您在应用程序中拥有大量权限,在大多数设备/平板电脑中,您都无法通过Play商店安装它。根据您的应用程序实际执行的操作以及在大多数情况下将使用的设备(手机/平板电脑),您应该考虑使用,例如:

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

首先,它只是一个例子!我在我的一个应用程序中这样做,我让用户拨打某些号码,这​​就是我需要TELEPHONY权限的原因,但我的应用程序并不是必需的。这就是我将use_featurerequired=false一起使用的原因。

希望这能帮到你!