1

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

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

我的相关线程建议这可能是因为 APK 对于设备来说可能太大了。虽然我们确实有大约 49 mb 的 APK,但它仅从 48.66 -> 48.68 这个版本增长,所以我很难相信这就是原因。

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

Galaxy nexus三星 Galaxy Tab
10.1 
三星 Galaxy Tab 7.7
eeepad 华硕变压器 tf101
摩托罗拉 XOOM
宏基 Iconia Tab A700

此列表直接来自我们的(前?)客户,但我已经在 Galaxy tab 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"/>
4

1 回答 1

0

正如我所看到的,您的应用程序中有很多权限,在大多数设备/平板电脑中,这些权限不允许您通过 Play 商店安装它。根据您的应用程序实际执行的操作以及在大多数情况下将使用哪种设备(手机/平板电脑),您应该考虑使用例如:

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

首先,这只是一个例子!我在我的一个应用程序中这样做,我让用户拨打某些号码,这​​就是我需要TELEPHONY许可的原因,但这对我的应用程序来说不是必需的。这就是我使用use_featurewith的原因required=false

希望这对你有帮助!

于 2013-05-29T06:42:55.200 回答