在uses-feature标记中忽略了android:required ="false"

Alo*_*tel 4 android

以下是来自AndroidManifest.xml文件.

<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" />
Run Code Online (Sandbox Code Playgroud)

但是,当我更新应用程序时,Google会继续向我显示列表中的3个功能.它只是忽略了相机功能的android:required属性.它适用于电话功能.

android.hardware.CAMERA
android.hardware.camera.AUTOFOCUS
android.hardware.camera.FLASH
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有可能的方法,但是找不到解决方案.

有没有什么我想要摆脱列表中的上述3个功能?


更新:

还尝试了android:name属性中的大写功能.
(我知道这不对,但我仍然尝试过,但也没有运气)

<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" />
Run Code Online (Sandbox Code Playgroud)

Com*_*are 8

显然,图书馆有<uses-feature>这些并按要求标记它们.如果清单的任何贡献者根据需要标记了某个功能,它将根据最终合并清单中的要求结束.

遇到这种情况时,首先尝试确定正在执行此操作的库(或库).清单合并报告(应该在build/output/logs/您的应用程序模块中)是笨拙的阅读,但应指出谁是罪魁祸首.

接下来,添加tools:replace="required"<uses-feature>清单中的元素,以指示您要否决任何低优先级清单,例如来自库的清单.

最后,要非常小心使用您之前确定的库.他们期待您明确不需要的功能.在不满足这些功能的设备上使用这些库是有风险的.