Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
407 views
in Technique[技术] by (71.8m points)

java - How to remove specific permission when build Android app with gradle?

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

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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>

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...