问题
So I was trying out the material design support library and when I added the dependency, compiled, and I got this error. I looked at similar problems and tried their solutions but it would not get fixed so I hope you can help me.
Here's my 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
and here is my 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:
I have same issue , after long search I found there are some libraries use the same attribute rippleColor
Example:
1- Google play service
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:1.5@aar'
Fix this issue
First to fix this issue replace google play service package (whole package) with specific one you need , please review google site as in Google Wallet there attribute called rippleColor
, in my case all I need google maps com.google.android.gms:play-services-maps:7.8.0
Second you can replace Design Support Library compile com.github.navasmdc:MaterialDesign:1.5@aar
with compile 'it.neokree:MaterialNavigationDrawer:1.3.2'
, if you need to use navigation drawer only
I hope this help
回答2:
I found the solution here (https://github.com/navasmdc/MaterialDesignLibrary/issues/289 ). The MaterialDesign Library's rippleColor attritube is replaced with mRippleColor attribute and the compiled library is forked here (https://github.com/vajro/MaterialDesignLibrary).
Adding
repositories {
maven { url "https://jitpack.io" }
}
and replacing
compile 'com.github.navasmdc:MaterialDesign:1.5@aar'
with
compile 'com.github.vajro:MaterialDesignLibrary:1.6'
in your build.gradle file should solve the issue.
回答3:
It seems that in the projects you are using (your own application + the used libraries) the Attribute named rippleColor
is used at least two times.
I'd suggest to check through your xml-s containing colors or any attributes (e.g colors.xml, or any other, try search for it in the whole project in your IDE).
Check whether the mentioned rippleColor
is used multiple times. If you have it in your project, rename it!
回答4:
I also met this problem when using Material Design, this is because "rippleColor" conflicts with android support design package. If you downloaded the module and added it as a dependency, you can solved this problem as follows :
- Press shift-cmd-R to Replace in Path,
- Text to find : rippleColor
- Replace with : mrippleColor
- Check "Whole words only(may be faster)"
- press "find" button to replace
then click Build-Rebuild to rebuild the project, and it could build successfully.
Or you can just use this forked library: link, he did that replace job for you.
回答5:
I got the same issue because I'm using the MaterialDesign Library in my android application where the rippleColor attribute is defined. Here is the example which shows how I've solved this issue.
来源:https://stackoverflow.com/questions/31183193/gradle-error-attribute-ripplecolor-has-already-been-defined-in-android-stud