Gradle error: "Атрибут" rippleColor "уже определен" в студии Android
Итак, я попробовал библиотеку поддержки материального дизайна, и когда я добавил зависимость, скомпилировал и получил эту ошибку.
Я посмотрел на подобные проблемы и попытался их решения, но он не будет исправлен, поэтому я надеюсь, что вы можете мне помочь.
Здесь мой logcat:
C:\Users\Jan\AndroidStudioProjects\SwagCalculator3\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\22.2.0\res\values\values.xml
Error:(1) Attribute "rippleColor" has already been defined
и вот мой build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.raptor.swagcalculator.swagcalculator"
minSdkVersion 21
targetSdkVersion 22
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:design:22.2.0'
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:support-v4:22.2.0'
compile 'com.android.support:cardview-v7:22.2.0'
}
Ответы
Ответ 1
У меня такая же проблема, после длительного поиска я обнаружил, что некоторые библиотеки используют один и тот же атрибут rippleColor
Пример:
1- Сервис Google Play
compile 'com.google.android.gms:play-services:7.8.0'
2- Библиотека поддержки дизайна
compile 'com.android.support:design:22.2.0'
3- MaterialDesign
compile 'com.github.navasmdc:MaterialDesign:[email protected]'
Исправить эту проблему
Сначала, чтобы устранить эту проблему, замените пакет google play service (весь пакет) с конкретным, который вам нужен, просмотрите google сайт, так как в Google Кошельке есть атрибут rippleColor
, в моем случае все, что мне нужно, Google Maps com.google.android.gms:play-services-maps:7.8.0
Второй вы можете заменить библиотеку поддержки дизайна compile com.github.navasmdc:MaterialDesign:[email protected]
на compile 'it.neokree:MaterialNavigationDrawer:1.3.2'
, если вам нужно использовать только ящик навигации
Я надеюсь, что эта помощь
Ответ 2
Я нашел решение здесь (https://github.com/navasmdc/MaterialDesignLibrary/issues/289). Библиотека MaterialDesign rippleColor attritube заменяется атрибутом mRippleColor, и здесь скомпилирована библиотека (https://github.com/vajro/MaterialDesignLibrary).
Добавление
repositories {
maven { url "https://jitpack.io" }
}
и заменяя
compile 'com.github.navasmdc:MaterialDesign:[email protected]'
с
compile 'com.github.vajro:MaterialDesignLibrary:1.6'
в файле build.gradle должен решить проблему.
Ответ 3
Кажется, что в проектах, которые вы используете (ваше собственное приложение + используемые библиотеки), атрибут с именем rippleColor
используется как минимум два раза.
Я бы посоветовал проверить ваши цвета xml или любые атрибуты (например, colors.xml или любой другой, попробуйте найти его во всем проекте в вашей среде IDE).
Проверьте, используется ли упомянутый rippleColor
несколько раз. Если у вас есть это в своем проекте, переименуйте его!
Ответ 4
Я также встретил эту проблему при использовании Material Design, потому что "rippleColor" конфликтует с пакетом дизайна поддержки Android.
Если вы загрузили модуль и добавили его как зависимость, вы можете решить эту проблему следующим образом:
- Нажмите shift-cmd-R для замены в пути,
- Текст для поиска: rippleColor
- Заменить на: mrippleColor
- Проверить "Только целые слова (может быть быстрее)"
- нажмите кнопку "Найти", чтобы заменить
затем нажмите Build-Rebuild, чтобы перестроить проект, и он может успешно сработать.
![введите описание изображения здесь]()
Или вы можете просто использовать эту разветвленную библиотеку: ссылка, он сделал это для замены задания для вас.
Ответ 5
У меня такая же проблема, потому что я использую MaterialDesign Library в моем приложении для Android, где определяется атрибут rippleColor. Вот пример, который показывает, как я решил эту проблему.
![введите описание изображения здесь]()