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

Программисты JAVA общаются здесь
Ответить
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 МБ.

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