0应用程序支持Android应用程序

Sol*_*oid 40 android google-play

我在使用Google Play商店时遇到问题,该商店坚持认为我的应用程序受0设备支持.我已经尝试过在SO和其他地方找到的所有解决方案.这不是关于apk不活动,它被激活是默认的,我甚至尝试停用并重新激活它.

我已经在我的Galaxy Nexus上测试了它并且效果很好,没有理由它与每个Android设备都不兼容......

这是我的清单文件:

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="17" />

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

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.INTERNET" />

<uses-feature
    android:name="android.hardware.accelerometer"
    android:required="true" />
<uses-feature
    android:name="android.hardware.screen.portrait"
    android:required="false" />
Run Code Online (Sandbox Code Playgroud)

完整的项目源可以在这里找到:https://github.com/Nurgak/Android-Bluetooth-Remote-Control,因为它是开源的.

这就是我在Google Play上看到的内容. 在此输入图像描述

这5个特征是

android.hardware.ACCELEROMETER
android.hardware.BLUETOOTH
android.hardware.CAMERA
android.hardware.camera.AUTOFOCUS
android.hardware.TOUCHSCREEN
Run Code Online (Sandbox Code Playgroud)

和4个权限

android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
android.permission.CAMERA
android.permission.INTERNET
Run Code Online (Sandbox Code Playgroud)

我也非常对他们的支持感到震惊,我只是得到了通用的"嘿,你看过我们的常见问题吗?" 回复电子邮件.

Suj*_*kar 40

当我在应用程序的清单文件中的uses-feature标签中声明相机硬件时,我遇到了类似的问题,如下所示:

<uses-feature android:name="android.hardware.camera">
Run Code Online (Sandbox Code Playgroud)

如果未指定android:required属性,则默认为"true".因此,除非存在相机硬件,否则Google Play商店将认为该应用程序无法运行.

一旦你将android:required设置为false,如下所示,Play Store将接受APK并显示可用于该应用程序的设备列表.

<uses-feature android:name="android.hardware.camera" android:required="false"/>
Run Code Online (Sandbox Code Playgroud)

您还可以在功能描述符上查找拼写错误.有关支持的功能描述符,请参阅http://developer.android.com/guide/topics/manifest/uses-feature-element.html#features-reference

有关更多信息,请访问:http://developer.android.com/guide/topics/manifest/uses-feature-element.html


Dis*_*Dev 35

我们最近搬到了Android Studio(来自Eclipse),我试图上传我用Studio构建的第一个生产版本,当我上传我的APK时,我收到了可怕的"支持的Android设备0"消息.解决方案最终成为我们包括apache commons编解码器库的方式.

检查你的build.gradle文件 - 如果你看到类似的东西:

compile 'org.apache.directory.studio:org.apache.commons.codec:1.+'

将其更改为:

compile 'commons-codec:commons-codec:1.+'

我的理论是命名空间的"org.apache.directory.studio"部分搞砸了开发人员控制台并使用速记工作正常.

我怎么发现这个?好吧,我没有,他们我很幸运,通过Google搜索找到了他们的提交消息.

  • 这是救命的答案!在我的情况下,这是你提到的页面中提到的另一个问题,即`compile'org.apache.directory.studio:org.apache.commons.io:2.4'`这是罪魁祸首.我不得不将它改为`compile'c​​ommons-io:commons-io:2.4'` (11认同)
  • 非常感谢,2天后我的问题解决了.我将`compile'org.apache.directory.studio:org.apache.commons.lang:2.6'改为`compile'c​​ommons-lang:commons-lang:2.6'`并解决了问题. (2认同)

Sor*_*scu 23

对我来说问题是清单文件中的这一行:

<uses-feature android:name="android.hardware.camera2" />
Run Code Online (Sandbox Code Playgroud)

我可能花了相当长的时间来追踪它,但幸运的是,谷歌在开发者控制台中提供了通过聊天联系他们的能力(出于某种原因,这个选项不再存在于ATMW,也许它的上限?).他们能够在几分钟内查明问题,我不得不将上面一行更改为

<uses-feature android:name="android.hardware.camera2" android:required="false" />
Run Code Online (Sandbox Code Playgroud)

相当节省时间,谢谢谷歌!


Gou*_*lfy 21

然后转到发布管理 - > 设备目录,并选择任何不支持的设备以显示其详细信息,您将看到不支持此设备的原因

在此输入图像描述

在此输入图像描述

在此输入图像描述

  • 这可以设置为接受的答案吗?它提供了有关如何解决问题的确切说明,而不是试图猜测问题是什么! (3认同)

Ivo*_*nov 20

有时,原因是您引用的第三方库.如果你能找到它是哪一个,如果你可以删除它,你可以解决问题.

在可能的情况下,我不得不删除:

org.apache.commons.io:2.4


Nic*_*ick 13

  • 尝试将apk名称更改com.bluetoothcom.nurgak.bluetoothremote
  • 尝试将所有uses-feature"-tags 设置为false
  • 尝试删除所有权限(我知道如果没有它们,应用程序将无法运行,但只是为了弄清楚为什么Google Play会说应用程序支持0设备)

PS:无论如何,android.hardware.screen.portrait如果你把它设置为你都不需要false.在这种情况下它没有效果.

  • 应该是`android.hardware.sensor.ACCELEROMETER`的`android.hardware.ACCELEROMETER`.重命名不是必要的. (4认同)