Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Attribute "titleTextStyle" has already been defined?

Tags:

android

I have imported an eclipse android project into android studio 1.2.2 The gradle of my project:

dependencies {
    compile project(':unifiedPreferenceLib')
    compile project(':viewPagerIndicatorLib')
    compile project(':slidingUpFourSquare')
    compile project(':stylishDialogLib')
    compile project(':swipeListViewLib')
    compile project(':library')
    compile project(':textDrawLib')
    compile project(':cardview')
    compile project(':editTextFormLibrary')
    compile 'com.android.support:support-v4:22.2.0'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile 'com.google.android.gms:play-services:+'
    compile files('libs/CWAC-LocationPoller.jar')
    compile files('libs/Parse-1.8.0.jar')
    compile files('libs/ParseCrashReporting-1.8.0.jar')
    compile files('libs/android-support-v13.jar')
    compile files('libs/blurnavdrawerlib.jar')
    compile files('libs/bolts-android-1.1.4.jar')
    compile files('libs/google-http-client-1.15.0-rc.jar')
    compile files('libs/google-http-client-android-1.15.0-rc.jar')
    compile files('libs/google-http-client-jackson2-1.15.0-rc.jar')
    compile files('libs/loremipsum-1.0.jar')
    compile files('libs/splunk-mint-4.0.8.jar')
    compile files('libs/textdrawlib.jar')
}

I am getting

Error:(1) Attribute "titleTextStyle" has already been defined

pointing to my colors.xml but my xml file does not even have this element with such an attribute.

like image 308
Nezam Avatar asked Aug 02 '15 08:08

Nezam


1 Answers

The problem is 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' defines the attribute titleTextStyle which is also defined in another library, thus the conflict rises.

Other people have had the same problem with Action Bar Sherlock after adding it(here and here) where appcompat-v7 already had an actionbar with the same functionality (same titleTextStyle attribute as well). Using ActionBar from appcompat-v7 over ActionBarSherlock was recommended.

In your case appcompat v7 isn't directly added as a dependency however

As described in this answer

The last version of Google Play Services now uses appcompat-v7, so u can't use it with actionbarsherlock. You have to use only appcompat-v7 or the previous version of play services:

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

You were using the latest so the conflict appearead. You could, as suggested, use only appcompat or stick to actionbarsherlock and switch to playservices version 7.0.0.

Looking over the android support library features i noticed they guide you to:

In general, we recommend including the v4 support and v7 appcompat libraries, because they support a wide range of Android versions and provide APIs for recommended user interface patterns.

which is another indication as not to use actionbarsherlock.

like image 150
Laurentiu L. Avatar answered Oct 06 '22 10:10

Laurentiu L.