首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android:required="false“在”使用“特性标记中被忽略。

android:required="false“在”使用“特性标记中被忽略。
EN

Stack Overflow用户
提问于 2016-06-15 10:20:11
回答 1查看 1.5K关注 0票数 7

下面是AndroidManifest.xml文件中的内容。

代码语言:javascript
复制
<permission
    android:name="com.kivi.kividoctors.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

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

但是,当我更新应用程序时,Google一直在列表中向我展示以下三个特性。对于摄像机的特性,它忽略了android:required属性。因为它适用于电话功能。

代码语言:javascript
复制
android.hardware.CAMERA
android.hardware.camera.AUTOFOCUS
android.hardware.camera.FLASH

我已经尝试了所有可能的方法,但没有找到解决办法。

有什么东西是我遗漏的,以摆脱上述3项功能的清单?

更新:

还尝试了在android中使用大写功能:像这样命名属性。

(我知道这是不对的,但我还是试过了,也没有运气)

代码语言:javascript
复制
<uses-feature android:name="android.hardware.CAMERA" android:required="false" />
<uses-feature android:name="android.hardware.camera.AUTOFOCUS" android:required="false" />
<uses-feature android:name="android.hardware.camera.FLASH" android:required="false" />
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-15 11:45:18

显然,库中有<uses-feature>,并根据需要对它们进行标记。如果清单的任何贡献者将某项功能标记为所需,则在最终合并的清单中按要求结束。

当您遇到这种情况时,首先,尝试识别库(或多个库)正在执行的操作。清单合并报告(应该在应用程序模块的build/output/logs/中)很难阅读,但是应该指出谁是罪魁祸首。

接下来,将tools:replace="required"添加到清单中的<uses-feature>元素中,以表明您希望推翻任何优先级较低的清单,例如来自库的清单。

最后,在使用前面标识的库时要非常小心。他们期望您显式地不需要这些特性。在没有满足这些特性的设备上使用这些库是有风险的。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37832604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档