java - 使用gradle构建Android应用程序时如何删除特定权限?

标签 java android gradle permissions

最近 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。我读了一些可以配置合并以从外部库中删除权限的地方,但我找不到如何做到这一点。

最佳答案

将值为 remove 的属性 tools:node 添加到 list 中:

<manifest ... xmlns:tools="http://schemas.android.com/tools">
    ...
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:node="remove" />
    ...
</manifest>

https://developer.android.com/studio/build/manage-manifests#node_markers

不要忘记将 tools 命名空间添加到 list 的根元素。

关于java - 使用gradle构建Android应用程序时如何删除特定权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31616334/

相关文章:

java - 下载servlet很慢

java - 保存 ModelAttribute 时出现空指针异常 [Spring MVC]

spring - 使用 maven(不是 gradle)生成带有 spring rest docs 的 asciidoctor doc

gradle - 如何从另一个gradle文件访问值?

java - 在 Eclipse 编辑器中粘贴很长的字符串

android - 在 Android 中显示空文本字段的模式

java - 如何更有效地从互联网上获取数据?

java - JSON 解析过滤逗号分隔的记录

gradle - Gradle在Jenkins中未选择 war 文件的正确版本

java - 使用二维数组超出内存限制