对于我用最新的android studio开发的应用程序,我在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" />
如这里所述,我可以重写导入库的activityxml声明中的属性。
但是,我是否也可以覆盖清单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
...
更新:@commonware建议的答案是有效的。
只是我的问题 tools:selector="com.helpshift"
这是不对的。我之所以不提这个问题,是因为我确信我暂时不需要任何其他图书馆的许可。
他还提交了一个功能请求,以改进清单合并报告,这可能有助于在未来找到正确的选择器。
1条答案
按热度按时间7jmck4yq1#
这将是一个
<uses-permission>
你想要的元素remove
,不是<permission>
元素。请注意,如果您的应用程序没有此权限,库可能会崩溃。