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

问题描述 投票:31回答:1

最近Google自动将Google服务合并到最终版本apk。有人问这里Why are permissions being automatically added to my AndroidManifest when including Google Play Services library

我的问题是一些不需要的权限,我不想在我的应用程序中获得一些敏感权限。那么如何删除android.permission.ACCESS_COARSE_LOCATION等权限?使用gradle构建,我不想禁用Manifest Merger。我读了一些可以配置Merger从外部lib中删除权限的地方,但我找不到怎么做。

java android gradle permissions
1个回答
61
投票

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

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

http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC-tools:node-markers

不要忘记将tools名称空间添加到清单的根元素中。

© www.soinside.com 2019 - 2024. All rights reserved.