对于我正在使用最新的Android开发的应用程序,我在它的gradle文件中使用这个依赖项:
dependencies {
compile 'com.android.support:support-v4:21.0.+'
compile 'com.helpshift:android-aar:3.7.1'
}com.helpshift:android-aar:3.7.1库需要以下权限才能获得我在主应用程序中不使用的特性:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
正如描述的那样,这里和这里可以覆盖导入库的活动声明中的属性。
但是,我是否也可以覆盖清单 XML声明,比如上面提到的uses-permission
我已经在我的主舱单上试过这样的东西了,但是没有用:
<permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
tools:node="remove"
tools:selector="com.helpshift">
</permission>另外,将<permission>元素更改为<uses-permission>也没有帮助。应用程序仍然要求获得访问SC卡的许可。
我的主AndroidManifest.xml现在看起来如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="auto"
xmlns:tools="http://schemas.android.com/tools"
package="com.bmi.rechner" >
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
tools:node="remove"
tools:selector="com.helpshift">
</uses-permission>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.android.vending.BILLING" />
<application
...更新:@CommonsWare建议的答案正在工作。
只是我的tools:selector="com.helpshift"不对。我忽略了它,因为我确信我在一段时间内不需要任何其他库的许可。
他还提交了一份特征请求,以改进清单合并报告,这可能有助于在未来找到合适的选择者。
发布于 2015-01-15 12:12:38
它将是一个<uses-permission>元素,而不是remove元素,而不是<permission>元素。
请注意,如果应用程序没有此权限,库可能会崩溃。
https://stackoverflow.com/questions/27962789
复制相似问题