使用gradle构建Android应用程序时如何删除特定权限?
Posted
技术标签:
【中文标题】使用gradle构建Android应用程序时如何删除特定权限?【英文标题】:How to remove specific permission when build Android app with gradle? 【发布时间】:2015-10-15 11:15:11 【问题描述】:最近 Google 自动将 Google 服务的许可合并到最终发布的 apk。 有人在这里问Why are permissions being automatically added to my androidManifest when including Google Play Services library
我的问题是不需要某些权限,并且我不希望在我的应用中获得某些敏感权限。那么如何删除 android.permission.ACCESS_COARSE_LOCATION 之类的权限呢? 使用 gradle build,我不想禁用 Manifest Merger。我读了一些可以配置合并以从外部库中删除权限的地方,但我找不到如何做到这一点。
【问题讨论】:
【参考方案1】:将值为remove
的属性tools:node
添加到您的清单中:
<manifest ... xmlns:tools="http://schemas.android.com/tools">
...
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:node="remove" />
...
</manifest>
见http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC-tools:node-markers
不要忘记将 tools
命名空间添加到清单的根元素。
【讨论】:
以上是关于使用gradle构建Android应用程序时如何删除特定权限?的主要内容,如果未能解决你的问题,请参考以下文章
如何在构建服务器和工作站之间同步 Gradle/Android 版本代码
构建android gradle项目时如何禁用proguard生成dump.txt
如何在 Gradle 构建脚本(Android)中定义和使用常量?