我目前面临以下问题:
我开发了应用程序'A‘,它使用权限1,2,3,并使用第三方库'B’作为依赖项(使用maven &gradle添加)。
库'B‘使用权限4和5。现在,当构建应用程序时,清单合并将权限4和5添加到app 'A’中。
如何防止这种情况,并且只具有最终清单中的权限1、2和3?
我的第一个猜测是使用清单合并标记之一,如下所示:http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC-Markers
发布于 2015-01-17 18:01:23
您需要使用Selector
每个工具:节点或工具:attr声明可以通过工具:selector属性来增强,该属性是关于合并策略是否应该应用于当前低优先级XML描述的上下文信息。例如,仅在为某个特定库(而不是任何库)来移除权限时,这是有用的:
根据你最初的要求,这将是下一个
<!--suppress AndroidDomInspection -->
<uses-permission
tools:node="removeAll"/>但是请记住,所有其他<uses-permissions/>都将被删除。
发布于 2018-01-09 20:44:33
如您所知,所有库都有一个清单文件,并将合并在一起。您可以通过以下方式删除库中的权限:
tools:node="remove"例如,删除位置权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" tools:node="remove" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:node="remove" />https://stackoverflow.com/questions/27997679
复制相似问题