error: duplicate value for resource 'attr/actionBarSize' with config ''

11.2k views Asked by At

I'm porting my current android apk to meet recent playstore directive - " targetSdkVersion 26"

This my gradle file. I started off with compileSdkVersion 26 and ended up at 28. So for 28 I had to use AndroidX dependencies. Im stuck at the error as posted in subject line. Any help would be very much appreciated.

The error message is

AGPBI: {"kind":"error","text":"error: duplicate value for resource \u0027attr/actionBarSize\u0027 with config \u0027\u0027.","sources":[{"file":"/Users/sk/.gradle/caches/transforms-1/files-1.1/appcompat-1.0.0.aar/34c8fa33903fb2b3203e5c70952da588/res/values/values.xml","position":{"startLine":1303,"startColumn":4,"startOffset":70911,"endColumn":68,"endOffset":70975}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: resource previously defined here.","sources":[{"file":"/Users/sk/.gradle/caches/transforms-1/files-1.1/appcompat-1.0.0.aar/34c8fa33903fb2b3203e5c70952da588/res/values/values.xml","position":{"startLine":1303,"startColumn":4,"startOffset":70911,"endColumn":68,"endOffset":70975}}],"original":"","tool":"AAPT"}
:app:mergeDebugResources

    apply plugin: 'com.android.application'

    android {

    compileSdkVersion 28
    buildToolsVersion "28.0.3"


    defaultConfig {
        applicationId "pack.age.net"
        minSdkVersion 16

        //Since no updates to app can be published in Playstore beginning Nov 1, 2018  - bumping targetSdk to 26 from 19
        targetSdkVersion 26

        //Double check this before you move this to production
        versionCode 22
        versionName "3.3"

        // Enabling multidex support.
        multiDexEnabled true

        //Language resources
        resConfigs "en", "hi"



    }

    buildTypes {
        release {

            //Shrink your code
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        debug {
            debuggable true
        }
    }

    lintOptions {
        checkReleaseBuilds false
    }

    packagingOptions {

        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }

    repositories {
        mavenCentral()

        maven {
            url "http://dl.bintray.com/journeyapps/maven"
        }
    }



    useLibrary 'org.apache.http.legacy'
}

dependencies {
    //implementation 'com.android.support:support-v4:28.0.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'

//    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'androidx.appcompat:appcompat:1.0.0'

//    implementation 'com.android.support:design:28.0.0'
    implementation 'com.google.android.material:material:1.0.0'

    implementation 'com.google.firebase:firebase-messaging:17.3.4'
    //Hockey App for Crash Analytics
    implementation 'net.hockeyapp.android:HockeySDK:5.1.1'
    //Sundry library files
    implementation files('libs/commons-codec-1.9.jar')
    implementation files('libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar')
    implementation files('libs/libphonenumber-6.2.jar')
    //Mutlidex Support
    implementation 'com.android.support:multidex:1.0.0'
    //Square Picasso Image View
    implementation 'com.squareup.picasso:picasso:2.5.2'
    //Calligraphy for custom fonts
    implementation 'uk.co.chrisjenx:calligraphy:2.2.0'
    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
    testImplementation 'junit:junit:4.12'
    //Apache Commons
    implementation 'org.apache.commons:commons-lang3:3.7'

    implementation 'com.github.chrisbanes:PhotoView:2.2.0'
    // Supports Android 4.0.3 and later (API level 15)
    implementation 'com.journeyapps:zxing-android-embedded:2.0.1@aar'
    // Supports Android 2.1 and later (API level 7), but not optimal for later Android versions.
    // If you only plan on supporting Android 4.0.3 and up, you don't need to include this.
    implementation 'com.journeyapps:zxing-android-legacy:2.0.1@aar'
    // Convenience library to launch the scanning and encoding Activities.
    // It automatically picks the best scanning library from the above two, depending on the
    // Android version and what is available.
    implementation 'com.journeyapps:zxing-android-integration:2.0.1@aar'
    // Version 3.0.x of zxing core contains some code that is not compatible on Android 2.2 and earlier.
    // This mostly affects encoding, but you should test if you plan to support these versions.
    // Older versions e.g. 2.2 may also work if you need support for older Android versions.
    implementation 'com.google.zxing:core:3.0.1'
    //Firebase
    implementation 'com.google.firebase:firebase-core:16.0.1'
}

apply plugin: 'com.google.gms.google-services'
4

There are 4 answers

0
Kang Ibnux On

We need to change XML layout, any support value need to change to androiddx value android.support.v4.widget.SwipeRefreshLayout need to change to androidx.swiperefreshlayout.widget.SwipeRefreshLayout

0
mu lei On
PS_ANDROIDBUILDTOOLSVERSION=29.0.1
android.aapt2FromMavenOverride=${Android_home}/build-tools/29.0.1/aapt2

disable aapt2 from maven

1
Martin Zeitler On

The proper answer might be, to update the Firebase dependencies to have versions, which already use androidx dependencies and if this should not be enough, to also enable the Jetfier, in case other libraries pull in com.android.support dependencies, which need to be re-written. To do so, add this into the gradle.properties file:

android.enableJetifier=true
android.useAndroidX=true
0
Toma On

hello there~ I too got a disaster moving to Androidx... according to google document you should locate the gradle property and add these two lines which works fine for me!

android.enableJetifier=true
android.useAndroidX=true

position in android studio

Good Luck dude~