如何覆盖使用功能和使用权限

Posted

技术标签:

【中文标题】如何覆盖使用功能和使用权限【英文标题】:How can I override uses-feature and uses-permission 【发布时间】:2016-10-19 19:26:38 【问题描述】:

我在我的项目中有以下权限

<permission
    android:name=".com.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name=".com.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

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

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

但谷歌播放显示我还需要一些额外的权限,然后搜索后我才知道这些权限在我的项目中使用的一些库中

所以任何人都可以帮助我禁用所需的权限,如 android.permission.CAMERA、android.permission.FLASHLIGHT 以及通过将 CAMERA、AUTOFOCUS 和 FLASH 覆盖到我的清单文件中,以便没有闪光灯的设备可以也使用该应用程序。 谢谢

【问题讨论】:

感谢在这里找到解决方案***.com/questions/30546197/… 【参考方案1】:

您的一个库可能会覆盖您的清单。试试这个

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

【讨论】:

以上是关于如何覆盖使用功能和使用权限的主要内容,如果未能解决你的问题,请参考以下文章

如何在其他应用中覆盖视图

如何使用 XCTest 使用 #available 语句覆盖所有功能分支

如何使用TG Pro for Mac的自定义控制功能完全覆盖系统

使用 Codekit 覆盖文件时权限被拒绝

覆盖用户/产品权限所需的最少组数

使用精灵套件游戏覆盖功能