Ошибка: дублирующее значение для ресурса 'attr/actionBarSize' с настройкой ''

Я портирую мой текущий apk для Android, чтобы соответствовать недавней директиве playstore - " targetSdkVersion 26"

Это мой архив. Я начал с compileSdkVersion 26 и закончил в 28. Так что для 28 я должен был использовать зависимости AndroidX. Я застрял в ошибке, как указано в строке темы. Любая помощь будет очень высоко ценится.

Сообщение об ошибке

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'

0 ответов

Привет ~ У меня тоже произошла катастрофа, переходящая на Androidx... согласно документу Google вы должны найти свойство gradle и добавить эти две строки, которые отлично подходят для меня!

android.enableJetifier=true
android.useAndroidX=true

Удачи, чувак ~

Правильный ответ может заключаться в том, чтобы обновить зависимости Firebase до версий, которые уже используют androidx зависимости и, если этого недостаточно, также включить Jetfier, если другие библиотеки подключатся com.android.supportзависимости, которые нужно переписать. Для этого добавьте это вgradle.properties файл:

android.enableJetifier=true
android.useAndroidX=true
PS_ANDROIDBUILDTOOLSVERSION=29.0.1
android.aapt2FromMavenOverride=${Android_home}/build-tools/29.0.1/aapt2

отключить aapt2 от maven

Нам нужно изменить макет XML, любое значение поддержки необходимо изменить на значение androiddxandroid.support.v4.widget.SwipeRefreshLayout нужно изменить на androidx.swiperefreshlayout.widget.SwipeRefreshLayout

Другие вопросы по тегам