DexArchiveBuilderException: не удалось обработать /xxx/.gradle/caches/transforms-1/files-1.1/play-services-location-11.2.2.aar - PullRequest
0 голосов
/ 05 сентября 2018

Когда я пытаюсь скомпилировать свой проект, я получаю странную ошибку:

What went wrong:
Execution failed for task ':android:transformClassesWithDexBuilderForProdDevelopmentDebug'.

com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: не удалось обработать /Users/.../.gradle/caches/ трансформирует-1 / файлы-1.1 / играть-сервисов местоположения 11.2.2.aar / f5b9886774f73d8b64cfd9701f91e8cc / банки / classes.jar

Что я пробовал:

  1. Добавлено multiDexEnabled true в приложение Gradle.
  2. Добавлено android.enableD8.desugaring = true и android.enableD8=true в gradle.properties
  3. Также удалил папку .gradle и перестроил + очистил
  4. Также сделано следующее: Менеджер SDK -> Сервисы Google Play -> Обновлено. Восстановить + очистить потом.

AS версия: 3.1.4

Файл приложения Gradle:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion Android.compileSdkVersion
    buildToolsVersion Android.buildToolsVersion
    flavorDimensions "...", "type"

    defaultConfig {
        applicationId "xxx"
        versionName 'xxx'
        versionCode xxx
        minSdkVersion 21
        targetSdkVersion Android.targetSdkVersion //Android.targetSdkVersion holds value "27"
        multiDexEnabled true
    }

    dexOptions {
        javaMaxHeapSize "6g"
        preDexLibraries = true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    productFlavors {           
        test {
            dimension "xxx"
            applicationIdSuffix '.xxx'
            versionNameSuffix 'x'
            manifestPlaceholders = [onesignal_app_id               : "",
                                    onesignal_google_project_number: ""]
        }
        production {
            dimension "xxx"
            manifestPlaceholders = [onesignal_app_id               : "",
                                    onesignal_google_project_number: ""]
        }
        development {
            dimension "type"
            resConfigs "xxhdpi"
        }
        normal {
            dimension "type"
        }
    }

    android.applicationVariants.all { variant ->
        variant.outputs.all {
            outputFileName = "..."
        }
    }

    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/services/javax.annotation.processing.Processor'
        exclude 'jsr305_annotations/Jsr305_annotations.gwt.xml'
        exclude 'build-data.properties'
        exclude 'error_prone/Annotations.gwt.xml'
        exclude 'third_party/java_src/error_prone/project/annotations/Annotations.gwt.xml'
        exclude 'third_party/java_src/error_prone/project/annotations/Google_internal.gwt.xml'
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    androidExtensions {
        experimental = true
    }
}

dependencies {
        implementation project(':projectxxx')
        implementation project(':tifCompanion')
        implementation fileTree(include: ['*.jar'], dir: 'libs')
        implementation files('libs/YouTubeAndroidPlayerApi.jar')
        kapt           "android.arch.lifecycle:compiler:1.1.1"
        implementation "android.arch.lifecycle:extensions:1.1.1"
        implementation "com.android.support.constraint:constraint-layout:1.1.0-beta5"
        kapt           "com.google.dagger:dagger-compiler:2.16"
        api            "com.android.support:leanback-v17:27.1.1"
        implementation "com.android.support:leanback-v17:27.1.1"
        api            "com.android.support:recommendation:27.1.1"
        implementation "com.android.support:recyclerview-v7:27.1.1"
        implementation "com.android.support:support-vector-drawable:27.1.1"
}

projectxxx , который был реализован, имеет следующие зависимости:

dependencies {
    api fileTree(include: ['*.jar'], dir: 'libs')
    api project(':JsonAPI') //https://github.com/faogustavo/JSONApi
    api            "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.61"
    implementation "com.onesignal:OneSignal:3.6.5"
    api            "com.google.android.gms:play-services-base:15.0.1"
    api            "com.google.android.gms:play-services-analytics:15.0.0"
    api            "com.android.support:support-annotations:27.1.1"
}

1 Ответ

0 голосов
/ 05 сентября 2018

Вы используете все сервисы воспроизведения с версиями 15.x.x, и ошибка указывает на 11.2.2, это означает, что какая-то другая библиотека вносит эту зависимость.

Этот тип ошибки можно устранить, выполнив следующие действия:

  1. запустить команду ./gradlew :app:dependencies в терминале. (Это создаст иерархию зависимостей)
  2. Проверьте наличие зависимости, в результате чего появляется зависимость play-services-location и exclude ее зависимости, как показано ниже:

    compile ('<dependency-bringing-play-services-location>') {
      exclude  group:'com.google.android.gms'
    }
    
  3. Добавление явной зависимости местоположения play-services.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...