所以几天前我将我的第一个应用程序发布到了 Play 商店。
它显示在这里,当我在网站上搜索时,它会显示在搜索结果结果中, 甚至在该页面上说它与我的手机兼容。
但是,当我在手机上搜索商店时,它并没有出现。拥有 Galaxy S2 的人说它会出现,而拥有 Galaxy S3 的人则说它没有。所以结果好坏参半。
Manifest.xml
在这里
我使用 mono-droid 构建应用程序,这可能与它有关吗?
格茨
我只是有同样的问题。我的应用程序会出现在我手机上的 Play 商店中,但是当我通过平板电脑搜索时,我看不到它。对我来说,战术上的答案是我没有明确声明——我只是添加并希望最好。事实证明,它还隐含地添加了相机“自动对焦”的功能要求——我一点也不关心……而且我的平板电脑不支持。
这需要我添加一个明确的“使用功能”来关闭相机要求:
更重要的是sdk自带这个命令:
/sdk/build-tools/android-4.3/aapt
您这样称呼它以在 .apk 上获取 Play 商店的过滤规则
./aapt 转储徽章 [my.apk]
然后 - 你去你有问题的设备上的应用商店并安装 Android 系统信息之类的东西,然后查看设备的“功能”。如果您的 .apk 断言它想要不在设备列表中的东西 - 那是您的问题。
检查您的清单文件是否包含支持屏幕,所有屏幕值都为 true,如下面的代码:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
/>
有两个权限通常会给我们带来问题:
<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 具有比用户权限更高的“权限级别”,因此使用 use hardware.telephone 但必须设置为 false,这意味着非电话设备可以安装 de app。
camera.autofocus 也是如此,它的请求,但它不会阻止设备安装应用程序 (required=false)
请记住,如果您在非电话设备上启动呼叫意图,它将崩溃,您必须对这些功能使用 try catch。