Вот сценарий.Мое приложение (A) использует библиотеку (B).
Мое приложение (A) использует разрешение READ_PHONE_STATE, и оно объявлено в manifest.xml как
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
В то время как библиотека (B) также использует то же разрешение READ_PHONE_STATE, но с maxSdkVersion установлено значение22.
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
android:maxSdkVersion="22"/>
Итак, теперь проблема в том, когда приложение собрано и в финальном _merged_manifest_ у меня установлено maxSdkVersion = "22" , и из-за этого мое текущее устройство, котороеnougat не может запросить данное разрешение.
В настоящее время я нашел решение переопределить это значение в моем приложении (A) manifest.xml
<uses-permission
tools:replace="android:maxSdkVersion"
android:name="android.permission.READ_PHONE_STATE"
android:maxSdkVersion="28"/>
Но для этого требуется, чтобы яupdate maxSdkVersion каждый раз, когда я обновляю версию sdk в своем приложении (A).
Так что мой вопрос
- Есть ли способ игнорировать maxSdkVersion, установленныйбиблиотека (B) с использованием некоторого пространства имен в моем файле manifest.xml, подобном инструментам: игнорировать
- Установить maxSdkVersion на последний sdkVersion в build.gradle автоматически, не изменяя его вручную