我在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上看到的内容。
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
我也非常对他们的支持感到震惊,我只是通用了“嘿,你看过我们的常见问题吗?”回复电子邮件。
答案 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)
答案 5 :(得分:13)
com.bluetooth
更改为com.nurgak.bluetoothremote
uses-feature"-tag
设置为false
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"/>