我有一个应用程序在Google Play上运行了一年多,最近一个用户报告说他有一台索尼Tablet S, Google Play显示我的应用程序与这台设备不兼容。
我在stackoverflow中阅读了许多关于不兼容问题的线程,据我所知,它通常发生(基于我对各种stackoverflow线程的研究),原因有以下4个
- 应用程序的大小过大(大于设备上指定的某些限制)。
- 由于清单中指定的支持屏幕尺寸
- Google play根据应用程序中请求的权限的一些隐含功能过滤出应用程序。
- 根据清单中指定的最小sdk进行过滤
据我所知,以上这些都不适用于我的应用,因为
-
应用程序大小小于1mb
-
我没有在清单中指定任何支持的屏幕尺寸
-
我在清单中只请求了3个权限(INTERNET, ACCESS_NETWORK_STATE, WRITE_EXTERNAL_STORAGE),基于android文档,这些权限似乎没有任何隐含的用户功能。(我可能错了)。我想知道是否有必要明确地提到所有这些权限是可选的,但我找不到任何方法来做到这一点,因为没有隐含的用户功能。
-
最小sdk为8,低于索尼Tablet S(我相信API Level 15)支持的sdk。
这是我的清单中的部分,它具有权限等。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-sdk android:minSdkVersion="8" />
我不知道是什么促使Google Play显示我的应用与索尼平板电脑S不兼容。当我进入谷歌开发者控制台查看支持的设备时,索尼Tablet S被列为支持,但显然对用户来说它似乎不兼容。
任何能缩小这个问题的线索都是非常感谢的。仅供参考。应用程序在许多其他平板电脑上运行良好- Kindle Fire, Galaxy Tab,华硕等
你可能想要尝试显式声明你的应用程序支持超大屏幕尺寸:
<supports-screens android:xlargeScreens="true">
不,这并不意味着你不支持其他大小。默认情况下,你的应用程序将支持小屏幕和普通屏幕,但最好将其明确设置为大屏幕和超大屏幕,因为它可能因设备而异。查看更多信息:
http://developer.android.com/guide/topics/manifest/supports-screens-element.html