Ответ
В Android конфликты ресурсов могут возникать из-за дублирования имен в зависимостях. Основные способы решения:
- Использование
resourcePrefixвbuild.gradle:
android {
resourcePrefix "my_prefix_"
}
Это заставит все ресурсы модуля начинаться с указанного префикса.
- Исключение ресурсов через Gradle:
android {
packagingOptions {
exclude 'res/values/conflict.xml'
}
}
- Переименование ресурсов в зависимостях с помощью ProGuard/R8:
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
}
}
}
- Объединение ресурсов через
resConfigs:
android {
defaultConfig {
resConfigs "en", "ru"
}
}
- Ручное разрешение через
tools:replaceв манифесте:
<manifest
xmlns:tools="http://schemas.android.com/tools"
tools:replace="android:icon, android:theme">