2015-07-02 4 views
16

Итак, я попробовал библиотеку поддержки конструктора материалов, и когда я добавил зависимость, скомпилировал и получил эту ошибку. Я посмотрел на подобные проблемы и попытался их решения, но он не будет исправлен, поэтому я надеюсь, что вы можете мне помочь.Ошибка градиента: «Атрибут» 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' 
} 

ответ

18

я такой же вопрос, после долгих поисков я нашел, что есть некоторые библиотеки используют один и тот же атрибут rippleColor

Example:

1- Google играть сервис

compile 'com.google.android.gms:play-services:7.8.0' 

2- Design Support Library

compile 'com.android.support:design:22.2.0' 

3- MaterialDesign

compile 'com.github.navasmdc:MaterialDesign:[email protected]' 

Fix this issue

Первый исправить этот вопрос заменить обслуживание Google Play пакет (весь пакет) с одним конкретным вам нужно, пожалуйста, ознакомьтесь google site как в Google Кошельке есть атрибут rippleColor, в моем случае все I нужен Google Maps com.google.android.gms:play-services-maps:7.8.0

Второй вы можете заменить Design Library Support compile com.github.navasmdc:MaterialDesign:[email protected] с compile 'it.neokree:MaterialNavigationDrawer:1.3.2', если вам нужно использовать навигацию ящик только

Я надеюсь, что эта помощь

+0

Я также использую все вышеперечисленные библиотеки, кроме compile 'com.android.support:design:22.2.0' whein Я добавляю это в grladle, показывая rippleColor, который уже определен, но где я могу это найти. – Harsha

+0

замените свой импорт на конкретный, замените библиотеку сервисов Google Play на то, что вам нужно, материальная навигация с ней .neokree: MaterialNavigationDrawer: 1.3.2 –

+0

Мне нужен навигатор с recyclerview и google maps и gplus sign in and rounded image для списка продукты и swipeto обновления для scrolldown дисплей обновить значок goodle admob для тестирования добавляет – Harsha

4

Похоже, что в проектах вы используете (собственное приложение + используемые библиотеки) атрибута rippleColor используется как минимум два раза.

Я предлагаю проверить ваши xml-ы с цветами или любыми атрибутами (например, colors.xml или любой другой, попробуйте найти его во всем проекте в вашей среде IDE).

Проверьте, используется ли упомянутый rippleColor несколько раз. Если у вас есть это в своем проекте, переименуйте его!

+0

Я искал везде, но нашел только в каталоге сборки, я не думаю, что я должен отредактировать эти файлы? или я должен? –

18

Я нашел решение здесь (https://github.com/navasmdc/MaterialDesignLibrary/issues/289). Элемент rippleColor библиотеки MaterialDesign заменяется атрибутом 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 должен решить эту проблему.

+0

Почему min sdk увеличился с 10 до 16 в этой новой библиотеке? –

2

Я также столкнулся с этой проблемой при использовании Material Design, это потому, что «rippleColor» конфликтует с пакетом дизайна поддержки Android. Если вы загрузили модуль и добавить его в качестве зависимости, вы можете решить эту проблему следующим образом:

  1. Нажмите Shift-CMD-R Заменить в пути,
  2. Текст для поиска: rippleColor
  3. Заменить с: mrippleColor
  4. CHECK «только целые слова (может быть быстрее)»
  5. нажмите «найти» кнопку, чтобы заменить

затем кли ck Build-Rebuild, чтобы перестроить проект, и он может успешно сработать.

enter image description here

Или вы можете просто использовать эту библиотеку раздвоенный: link, он, замещающие работу за вас.

2

У меня такая же проблема, потому что я использую MaterialDesign Library в моем приложении для Android, где определяется атрибут rippleColor. Вот пример, который показывает, как я решил эту проблему.

enter image description here