Intereting Posts
Android decodeResource возвращает null для xml bitmap – уровень API 7 Запускать активность из службы при нажатии на уведомление NotifyИзменить с измененным uri из contentProvider.update () SecurityException при вызове getLastKnownLocation Error: Ошибка получения родительского элемента для элемента: не найден ресурс, который соответствует указанному имени «Widget.AppCompat.ActionButton» Тревога AlarmManager сохраняется, если приложение убито системой из-за низкой памяти? Cordova android: Загрузка данных из базы данных с бесконечной прокруткой в ​​onsenui Android 3.0: изменение порядка значков в панели действий Как запустить локальное сетевое подключение программно через точку доступа Wi-Fi на Android? Как удалить нераспознанные символы, которые возвращаются из веб-службы? Android: windowSoftInputMode = "stateVisible" не работает Есть ли способ использовать пользовательское хранилище ключей при создании приложения для Android в режиме отладки в режиме ant? Можно ли аутентифицировать пользователя Google (зарегистрированного на устройстве Android) на моем сервере, используя auth_token, полученную форму Google? Как установить приложения с таким же именем пакета в android? Как заставить производный класс вызвать супер метод? (Как и Android)

Удаление элемента AndroidManifest с использованием продуктов с градиентом

Я настраиваю проект Android с несколькими продуктами. Я хотел бы иметь <uses-permission android:name="android.permission.INTERNET" /> во всех, кроме одного из моих вкусов. Я знаю, что можно иметь особый вкус, чтобы добавить разрешение, но возможно ли удалить его?

Единственное другое решение для этого, о котором я могу думать, это добавить <uses-permission android:name="android.permission.INTERNET" /> всем моим вкусам, кроме одного, что кажется довольно болезненным.

Согласно документам вы можете:

  1. Удалите разрешение с добавлением в ваш манифест что-то вроде этого: <permission android:name="permissionOne" tools:node="remove"/>

  2. И объявите отдельные части AndroidManifest.xml для каждого аромата в src/myFlavor/AndroidManifest.xml который будет объединен с этим основным AndroidManifest.xml

Я знаю, что это старый, но теперь есть новый атрибут, называемый tools:node="remove" который позволяет удалить тег из манифеста.

Объявите заголовок вашего манифеста следующим образом:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> 

Также вы должны добавить свой тег следующим образом:

 <uses-permission android:name="android.permission.INTERNET" tools:node="remove" /> 

Надеюсь, это поможет другим.

Источник: ЗДЕСЬ

Также Android-документация: ЗДЕСЬ

РЕДАКТИРОВАТЬ:

Отредактирован ответ, чтобы соответствовать новым изменениям API. Спасибо Мартину Л. за его комментарий

Gradle merges проявляет так, вероятно, нет. Я решил подобную проблему (имена пакетов широковещательных приемников), удалив тег из основного манифеста и добавив его ко всем конкретным вкусам.