使用gradle构建Android应用程序时如何删除特定权限? [英] How to remove specific permission when build Android app with gradle?

查看:78
本文介绍了使用gradle构建Android应用程序时如何删除特定权限?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近从 Google 服务获得 Google 自动合并许可到最终发布的 apk.有人在这里问为什么会自动添加权限包含 Google Play 服务库时添加到我的 AndroidManifest

Recently Google auto merge permission from Google Service to final release apk. Some one ask here Why are permissions being automatically added to my AndroidManifest when including Google Play Services library

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

My problem is some permission don't need and I don't want some sensitive permission in my app. So how to remove permission like android.permission.ACCESS_COARSE_LOCATION ? With gradle build, I don't want to disable Manifest Merger. I read some where that can config Merger to remove permission from external lib, but I can't find how to do it.

推荐答案

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

Add attribute tools:node with a value of remove to your manifest:

<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 命名空间添加到清单的根元素.

Don't forget to add the tools namespace to the root element of your manifest.

这篇关于使用gradle构建Android应用程序时如何删除特定权限?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆