一些设备上在Google Play商店中没有显示Android应用程序

7

几天前,我在 Play 商店发布了我的第一个应用程序。

它在此处显示,并且当我在网站上搜索时,在搜索结果中显示result,该页面上还说它与我的手机兼容。

但是,当我在手机上的商店中搜索时,它没有显示出来。一位使用 Galaxy S2 的人说它出现了,而一位使用 Galaxy S3 的人说它没有出现。因此,这里的结果不尽相同。 Manifest.xml这里

我使用 Mono-droid 来构建应用程序,这可能与此有关吗?

Grtz


在你的Android清单XML文件中添加支持屏幕标签! - Stack Overflow User
@user2513326 你找到解决方案了吗? - Avadhani Y
@AvadhaniY 你有吗?我也遇到了同样的问题... - Ruchir Baronia
旧问题,但是被接受的答案对我有用。 - speedrock
3个回答

6

我遇到了同样的问题,我的应用在手机的应用商店中可以找到,但是在平板上搜索时无法看到它。对我来说,解决方法是:我没有明确声明任何使用功能 - 我只是添加了 <uses-permission> 并希望一切顺利。结果发现,<uses-permission> 隐含地添加了相机“自动对焦”的功能要求,而我并不关心这个功能... 而且我的平板电脑不支持它。

这让我需要添加一个显式的 "uses-feature" 来关闭相机需求:

更重要的是,SDK 自带这个命令:

/sdk/build-tools/android-4.3/aapt

你可以像这样调用此命令,以获取 Play 商店对 .apk 的过滤规则

./aapt dump badging [my.apk]

然后,你需要去设备的应用商店安装类似 Android 系统信息这样的应用,并查看设备的“功能”。如果你的 .apk 声明了某项未列出在设备清单中的功能,那就是你的问题所在。


5

通常有两种权限会给我们带来问题:

<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.CALL_PHONE" />

第一个方法使用了一种相机功能,而某些平板电脑和智能手机可能没有这个功能。第二个方法使用了电话功能,而非电话设备(如平板电脑)将无法使用。
为了解决这个问题,你需要将以下内容添加到你的清单文件中:
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />

uses-feature 具有比用户权限更高的“权限级别”,因此可以使用 required false 的 hardware.telephone,这意味着非手机设备也可以安装该应用程序。

对于 camera.autofocus,其为请求,但它不会阻止设备安装应用程序(required = false)

请记住,如果在非手机设备上启动通话意图,则会崩溃,必须针对这些函数使用 try catch。


那么我是否应该在我的每个权限中都加上 android:required="false" 呢? - Ruchir Baronia

4
请检查您的清单文件是否包含支持所有屏幕值为true的内容,如下所示的代码:

检查您的清单文件是否包含支持屏幕所有屏幕值为true的内容,如下所示的代码:

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

添加这些似乎就可以解决问题了!<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" android:resizeable="true" /> - speedrock
1
android:resizeable="true"是什么作用? - Ruchir Baronia
还有,我可以加上这个吗?它会做同样的事情吗? http://snag.gy/Bo7Cv.jpg - Ruchir Baronia
如果我没有像“layout-small”,“layout-large”等那样创建4个布局文件夹,而是编写这些代码行会有问题吗? - Hilal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接