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

时间:2012-12-24 10:42:02

标签: 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" />

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

这就是我在Google Play上看到的内容。 enter image description here

5个功能

android.hardware.ACCELEROMETER
android.hardware.BLUETOOTH
android.hardware.CAMERA
android.hardware.camera.AUTOFOCUS
android.hardware.TOUCHSCREEN

和4个权限

android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
android.permission.CAMERA
android.permission.INTERNET

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

14 个答案:

答案 0 :(得分:36)

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

<uses-feature android:name="android.hardware.camera">

如果您没有指定android:required属性,则默认为&#34; true&#34;。因此,Google Play商店会假设除非存在相机硬件,否则该应用程序将无法运行。

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

<uses-feature android:name="android.hardware.camera" android:required="false"/>

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

有关详细信息:http://developer.android.com/guide/topics/manifest/uses-feature-element.html

答案 1 :(得分:35)

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

检查build.gradle文件 - 如果您看到类似的内容:

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

将其更改为:

{{1}}

我的理论是&#34; org.apache.directory.studio&#34;命名空间的一部分是搞砸了开发人员控制台并使用简写工作正常。

我是怎么发现这个的?好吧,我没有,they did我很幸运,通过谷歌搜索找到了他们的提交信息。

答案 2 :(得分:20)

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

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

  

org.apache.commons.io:2.4

答案 3 :(得分:20)

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

<uses-feature android:name="android.hardware.camera2" />

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

<uses-feature android:name="android.hardware.camera2" android:required="false" />

相当节省时间,谢谢Google!

答案 4 :(得分:18)

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

enter image description here

enter image description here

enter image description here

答案 5 :(得分:13)

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

P.S。:如果你设置它,你不需要android.hardware.screen.portrait   无论如何,到false。在这种情况下它没有效果。

答案 6 :(得分:4)

我有类似的问题。我的解决方案是在清单中正确写出这一行:

<uses-feature android:name="android.hardware.sensor.barometer" android:required="true" />

答案 7 :(得分:2)

虽然这个问题得到了解答,但还有一些补充, 删除任何.jar依赖项(特别是common-io。*。jar依赖项)。 在解决依赖问题后,我能够解决问题。

答案 8 :(得分:0)

如果使用gradle,请确保项目中的所有清单都与min / max / target sdk版本对齐。

答案 9 :(得分:0)

我也遇到了0支持设备的问题,但原因不同。 其中一个库会在生成的APK 中创建一个lib/README.txt文件。将APK上传到Google Play控制台后,APK分析工具会选取lib/README.txt文件,并将其视为本地库,任何设备都不支持。

我已使用build.gradle文件中的以下Gradle配置从APK中删除文件来修复此问题:

android {
    ...

    packagingOptions {
        exclude 'lib/README.txt'
    }
}

答案 10 :(得分:0)

我有这个问题。通过删除清单中的所有内容来修复。

答案 11 :(得分:0)

我知道回答迟到了,我面临同样的问题。通过将所有用户功能设置为std::regex r(R"([^\W_]+(?:['_-][^\W_]+)*)"); std::string s = "Hello, world! Aren't you clever? 'Later', she said. Maybe 5 o'clock?' In the year 2017 ... G2g, cya l8r hello_world.h Hermione's time-turner. Good mor~+%g. Hi' Testing_ Bye- The kids' toys"; for(std::sregex_iterator i = std::sregex_iterator(s.begin(), s.end(), r); i != std::sregex_iterator(); ++i) { std::smatch m = *i; std::cout << m.str() << '\n'; } ,播放商店仍然显示支持零设备。

这是解决方案,希望能帮到某人

false

另外

   <uses-feature
            android:glEsVersion="0x00020000"
            android:required="true" />

希望有所帮助。

答案 12 :(得分:0)

我也面临同样的问题。我发现此问题是由AndroidManifest.xml文件引起的。 只需替换

<uses-feature android:name="android.hardware.accelerometer" android:required="true"/>

<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true"/>

希望对您有帮助。

答案 13 :(得分:0)

我的与 Zxing 条码扫描仪功能有关。我与开发人员支持人员聊天,他们发现我遇到了 android.hardware.camera.autoFocus 属性问题。支持人员不确定我需要做什么才能解决问题。使用上面的答案,我在 android:required="false" 文件中添加了 manifest

从 0 台设备到 Supported Android devices 7,856

更改自:

<!--barcode scan-->
<uses-feature android:name="android.hardware.camera.autoFocus"/>
<uses-feature android:name="android.hardware.camera"/>

<!--barcode scan-->
<uses-feature android:name="android.hardware.camera.autoFocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>