Как динамически обновлять разрешения AndroidManifest на основе параметров сборки Gradle?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как динамически обновлять разрешения AndroidManifest на основе параметров сборки Gradle?

Сообщение Anonymous »

У меня есть приложение для Android, написанное на Java и использующее Gradle для процесса сборки. Приложение реализует различные метрики, которые собирают разные типы данных. Каждая метрика требует определенных разрешений.
Я разделил приложение на модули, чтобы в процессе сборки можно было указать, какие метрики следует включить в сборку, с помощью параметра Gradle. Например:

Код: Выделить всё

./gradlew assembleDebug -PSelectedMetrics="BluetoothMetrics,AvailableWifi"
Метрики, не указанные в параметре SelectedMetrics, исключаются из сборки и динамически загружаются во время выполнения с использованием отражения.
Метрики располагаются в пакете типа metrics/, например:

[*]

Код: Выделить всё

metrics/BluetoothMetrics
[*]

Код: Выделить всё

metrics/AvailableWifi
[*]

Код: Выделить всё

metrics/HeadphonesMetrics
[*]

Код: Выделить всё

metrics/ScreenshotMetrics
[*].....


Проблема в том, что даже если определенные метрики исключены и не являются частью сборки, связанные с ними декларации разрешений остаются в AndroidManifest.xml.
Есть ли способ динамически обновлять AndroidManifest.xml во время процесса сборки, чтобы удалить разрешения неиспользуемых метрик? В идеале я хотел бы удалить разрешения, соответствующие метрикам, не указанным в параметре SelectedMetrics.
Заранее благодарим за помощь!

Подробнее здесь: https://stackoverflow.com/questions/792 ... build-para
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»