Android App在Google App Store中搜不到

情景:Android App在Google App Store上架成功,三星手机可以在Google App Store中搜索到,但是三星tablet却无法在Google App Store中搜索到,目标用户在韩国,手中也没有测试的Tablet,怎么办?

问题产生的原因

Google Play存在过滤功能,在某些情况下,您通过<uses-permission>请求的权限可影响Google Play如何过滤您的应用。举个例子,您通过<uses-permission>请求了打电话的权限,而这款设备不具备通话的硬件,那这个设备在Google Play中就无法搜索到你的App。Android官方文档对这个有详细介绍:

Android App在Google App Store中搜不到

解决办法:

添加一条<uses-permission>,同时添加一条<uses-feature>与之对应,并在<uses-feature>中设置android:requires="false"。

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

如果只想解决上面的问题,可以到此结束了,下面的内容是记录<uses-permission>和<uses-feature>的2个知识点。

知识点介绍:

<uses-permission>

语法:

<uses-permission android:name="string"
android:maxSdkVersion="integer" />

<uses-permission>中只有name和maxSdkVersion这2个属性。<uses-permission>请求的权限可能会影响Google Play如何过滤你的应用。如果你不想Google Play根据<uses-permission>过滤你的应用,请将<uses-feature>和<uses-permission>配合使用。

Android App在Google App Store中搜不到

<uses-feature>

语法:

<uses-feature
android:name="string"
android:required=["true" | "false"]
android:glEsVersion="integer" />

属性

android:name
以描述符字符串形式指定应用使用的单一硬件或软件功能。 硬件功能和软件功能部分列出了有效的属性值。 这些属性值区分大小写。
android:required
表示应用是否需要 android:name 中所指定功能的布尔值。
当您为某项功能声明 android:required="true" 时,即是规定当设备不具有该指定功能时,应用无法正常工作,或设计为无法正常工作。
当您为某项功能声明 android:required="false" 时,则意味着如果设备具有该功能,应用会在必要时优先使用该功能,但应用设计为不使用该指定功能也可正常工作。
如果未予声明,android:required 的默认值为 "true"。

android:glEsVersion
应用需要的 OpenGL ES 版本。高 16 位表示主版本号,低 16 位表示次版本号。 例如,要指定 OpenGL ES 2.0 版,您需要将其值设置为“0x00020000”;要指定 OpenGL ES 3.2,则需将其值设置为“0x00030002”。
应用应在其清单中至多指定一个 android:glEsVersion。 如果指定不止一个,将使用数值最高的 android:glEsVersion,任何其他值都会被忽略。

如果应用不指定 android:glEsVersion 属性,则系统假定应用只需要 OpenGL ES 1.0,即所有 Android 设备都支持的版本。

应用可以假定,如果平台支持给定 OpenGL ES 版本,也同样支持所有数值更低的 OpenGL ES 版本。 因此,同时需要 OpenGL ES 1.0 和 OpenGL ES 2.0 的应用必须指定它需要 OpenGL ES 2.0。

能够使用几种 OpenGL ES 版本中任一版本的应用只应指定它需要的数值最低的 OpenGL ES 版本。 (它可以在运行时检查是否有更高版本的 OpenGL ES 可用)。

如需了解有关如何使用 OpenGL ES(包括如何在运行时检查支持的 OpenGL ES 版本)的详细信息,请参阅 OpenGL ES API 指南。

Android App在Google App Store中搜不到

Android App在Google App Store中搜不到

隐式<uses-permission>和<uses-feature>对应表:

Android App在Google App Store中搜不到

参考链接:

https://developer.android.com/guide/topics/manifest/uses-permission-element.html

https://developer.android.com/guide/topics/manifest/uses-feature-element.html#sw-features

上一篇:习惯养成和目标追踪APP推荐


下一篇:计数器+打卡+习惯+目标APP推荐