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

标签 java android gradle permissions

最近,Google 从 Google Service 获得了自动合并权限,以最终发布 apk。 有人在这里问Why are permissions being automatically added to my AndroidManifest when including Google Play Services library

我的问题是不需要某些权限,并且我不想在我的应用程序中获得某些敏感权限。那么如何删除像 android.permission.ACCESS_COARSE_LOCATION 这样的权限? 使用 gradle build,我不想禁用 list 合并。我读到了一些可以配置合并以删除外部库权限的地方,但我找不到如何做到这一点。

最佳答案

将值为 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/56644968/

相关文章:

android - 与文本内联的 React-native 图标

android - 如何在 Android 主屏幕上的“我的应用程序”图标上显示通知计数

javascript - React-Native assembleRelease 任务 ':app:bundleReleaseJsAndAssets' 失败

java - RMI 的替代品

java - 对字符串数组进行二分查找时遇到问题

java - Android App以Manifest和app.Application引起的两个Activity启动

gradle - 如何将Jacoco插件与Gradle集成?

android - Instant run 不适用于 Android Studio,表示需要 Gradle 版本 2.10。我用2.10

java - 我们可以使用blockingqueue来实现循环缓冲区吗

java - Talend 作业未提供响应