在构建带有gradle的Android应用程序时,如何删除特定权限?

2022-08-31 20:06:02

最近谷歌自动合并许可从谷歌服务到最终发布apk。有人在这里问 为什么权限会自动添加到我的AndroidManifest中,当包括Google Play服务库时

我的问题是一些不需要的权限,我不想在我的应用中使用一些敏感的权限。那么如何删除像android.permission.ACCESS_COARSE_LOCATION这样的权限?使用 gradle 构建,我不想禁用 Manifest Merger。我读到一些可以配置合并以从外部库中删除权限的地方,但我找不到如何做到这一点。


答案 1

将值为 的属性添加到清单中:tools:noderemove

<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


答案 2

推荐