2015-09-07 7 views
12

Material Design Support Libをv23.0.1に更新しましたが、今ではコードがコンパイルされません。属性 "barLength"はすでに定義されています

Attribute "barLength" has already been defined 
/Users/admin/Documents/workspace/MyApp/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml 
Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'. 
Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'. 

どうすればよいですか?

EDIT:私にエラーを与える

2 LIBSは以下のとおりです。

compile 'com.android.support:design:22.2.0' 
compile 'com.android.support:appcompat-v7:22.2.0' 

答えて

25

「barLength」という名前の属性がないことを確認してください。私の場合、カスタムProgressWheelが問題を引き起こし、attr名と問題解決の名前が変更されました。

+0

ありがとう。また私のカスタムプログレスホイールのバー長さもあります。名前を変更した後、問題は解決しました。ありがとう – YeeKhin

+0

これは問題のtx –

+0

attr.xmlをチェックする必要があります、私はカスタムProgressBarと同じ問題があった – HK1988

1

は、プロジェクトのサポートライブラリ

と同じバージョンを使用するようにサポートライブラリを使用して、あなたのライブラリを更新していることを確認します
+0

私はそれをどのように行うことができますか?私は競合がlibを使っていると思う:progressWheel:https://github.com/Todd-Davies/ProgressWheel、しかしそれはGradleに含まれているように修正する方法がわからない –

+0

私はこれがそうではないかもしれないと思う本当。私はあなたが述べたライブラリをチェックし、それがサポートライブラリに依存していないことを知りました。とにかく、問題がgradle経由で使用しているライブラリのいずれかである場合は、ライブラリをAndroid Studio(またはEclipseを使用している場合のライブラリ)としてモジュールとして追加し、その依存関係を手動で変更できます。 –

11

android:TextAppearance.Material.Widget.Button.Inverseandroid:Widget.Material.Button.ColoredエラーはまだAndroid Lollipop(API 21)コンパイラを使用しているためです。 compileSdkVersionを23に変更してください。

Attribute "barLength" has already been definedエラーは、ご使用のGradleのバージョンが古くなっているためです。

dependencies { 
    classpath 'com.android.tools.build:gradle:1.4.0' 
} 

も変更:

は、以下を使用するようにプロジェクトbuild.gradleを変更することを忘れないでください(鉱山がgradle-2.4です)最新のGradleのバージョンにGradle homeを変更、>Gradle - >Build, Execution, Deployment - - >Build ToolsPreferenceに行きますあなたのbuildToolsVersion22.0.1

編集:

私はあなたのトッド・デイヴィスによって作成された、ProgressWheelライブラリを使用していることに気づきました。 declare-styleableという矛盾があります。つまり、barLengthディメンションです。その場合、Progress WheelをAndroid Studioのモジュールとしてインポートし、属性の名前を変更する必要があります。

+0

Gradle 1.4はまだリリースされていませんhttps://jcenter.bintray.com/com/android/tools/build/gradle/ – Ricardo

+0

@Ricardo最新バージョンはGradle 1.4 beta 6です。私はそれを使用しています。 –

+0

ありがとう、これは私を助けた。私はProgressWheelを自分のモジュールに持っていました。紛争を見つけ出すのにずっと時間がかかっていたことに怒りを覚えました。最初にどこに定義されたのか、2回目に定義されたところだけ教えてくれました。 お手伝いをよろしく! – Mullazman

0

buildToolsVersion 21 targetSdkVersion "22.0.1"