web-dev-qa-db-ja.com

Gradleエラー:Android studioの「属性 "rippleColor"はすでに定義されています」

そのため、マテリアルデザインサポートライブラリを試してみましたが、依存関係を追加してコンパイルすると、このエラーが発生しました。同様の問題を調べて解決策を試しましたが、解決されないので、助けていただければ幸いです。

これが私の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'
}
17
Dutch-Raptor25

私は同じ問題を抱えていますが、長い検索の結果、いくつかのライブラリが同じ属性を使用していることがわかりましたrippleColor

例:

1- Google Playサービス

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

2-設計サポートライブラリ

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

3-マテリアルデザイン

compile 'com.github.navasmdc:MaterialDesign:1.5@aar'

この問題を修正する

最初にこの問題を修正するには置換google play serviceパッケージ(パッケージ全体)特定のものが必要な場合は、 google site を確認してください。GoogleウォレットではrippleColorという属性があります。私の場合は、Googleマップが必要ですcom.google.Android.gms:play-services-maps:7.8.0

2番目デザインサポートライブラリを置き換えることができますcompile com.github.navasmdc:MaterialDesign:1.5@aarcompile 'it.neokree:MaterialNavigationDrawer:1.3.2'、ナビゲーションドロワーのみを使用する必要がある場合

私はこの助けを願っています

18
Mina Fawzy

私はここで解決策を見つけました( https://github.com/navasmdc/MaterialDesignLibrary/issues/289 )。 MaterialDesign LibraryのrippleColor attritubeはmRippleColor属性に置き換えられ、コンパイルされたライブラリはここで分岐されます( https://github.com/vajro/MaterialDesignLibrary )。

追加

repositories {
maven { url "https://jitpack.io" }

}

そして交換

compile 'com.github.navasmdc:MaterialDesign:1.5@aar'

compile 'com.github.vajro:MaterialDesignLibrary:1.6'

あなたのbuild.gradleファイルで問題を解決する必要があります。

20
Galileo

使用しているプロジェクト(独自のアプリケーション+使用したライブラリ)では、rippleColorという名前の属性が少なくとも2回使用されているようです。

色や属性を含むxml-sを確認することをお勧めします(例colors.xml、またはその他、IDEのプロジェクト全体で検索してみてください)。

上記のrippleColorが複数回使用されていないか確認してください。プロジェクトにある場合は、名前を変更してください!

4
abbath

Material Design を使用しているときにもこの問題に遭遇しました。これは、「rippleColor」がAndroidサポートデザインパッケージと競合するためです。モジュールをダウンロードして依存関係として追加した場合、この問題は次のように解決できます。

  1. パスで置換するには、shift-cmd-Rを押します。
  2. 検索するテキスト:ripcolor
  3. 置き換え:mrippleColor
  4. 「単語のみ(もっと速いかもしれません)」にチェックを入れます
  5. 「検索」ボタンを押して置き換えます

次に、「ビルド-再ビルド」をクリックしてプロジェクトを再ビルドすると、正常にビルドできます。

enter image description here

または、このフォークされたライブラリを使用することもできます: link 、彼はあなたのためにその代わりの仕事をしました。

2
drunkpiano

MaterialDesign Library を使用しているため、同じ問題が発生しましたAndroid rippleColor属性が定義されているアプリケーションです。ここに、私がどのようにしたかを示す例がありますこの問題を解決しました。

enter image description here

2
Waqas Ahmed