Как удалить определенное разрешение при создании приложения Android с помощью gradle?

Недавно Google автоматически сменил разрешение от службы Google до последней версии apk. Кто-то спрашивает здесь Почему автоматически добавляются разрешения на мой AndroidManifest при включении библиотеки Google Play Services

Моя проблема в том, что мне не нужно какое-то разрешение, и я не хочу иметь какое-то чувствительное разрешение в своем приложении. Итак, как удалить разрешение, например android.permission.ACCESS_COARSE_LOCATION? С конструкцией gradle я не хочу отключать слияние манифеста. Я читал некоторые, где можно сменить конфигурацию Слияние, чтобы удалить разрешение из внешней библиотеки, но я не могу найти, как это сделать.

Ответы

Ответ 1

Добавить атрибут 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 в корневой элемент вашего манифеста.