Проект не удается собрать после загрузки последней версии Gradle - PullRequest
0 голосов
/ 27 января 2019

После обновления я получаю следующую ошибку при сборке.Я попытался очистить и собрать, но ошибка не исчезла:

Это ошибка, которую я получаю, когда пытаюсь собрать:

Ошибка: тип программы уже существует: org.apache.xmlbeans.xml.stream.Location

Проблема, похоже, связана с проблемой с xmlbeans-2.6.0.jar, однако я не совсем понимаю, что он пытается сделать с помощью "dexingTransform".Нужно ли что-нибудь добавить в мой Gradle для поддержки моего проекта после обновления?

Это мой build.grade:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "app.testApp"
        minSdkVersion 26
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.support:multidex:1.0.3'
    implementation "org.apache.poi:poi:3.17"
    implementation "org.apache.poi:poi-ooxml:3.17"
    implementation 'com.fasterxml:aalto-xml:1.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.jakewharton:butterknife:8.5.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

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

 org.gradle.initialization.ReportedException: org.gradle.internal.exceptions.LocationAwareException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'.   

Caused by: org.gradle.api.artifacts.transform.ArtifactTransformException: Failed to transform file 'xmlbeans-2.6.0.jar' to match attributes {artifactType=android-dex, dexing-is-debuggable=true, dexing-min-sdk=26} using transform DexingTransform

Caused by: com.android.tools.r8.utils.AbortException: Error: Program type already present: org.apache.xmlbeans.xml.stream.Location

1 Ответ

0 голосов
/ 28 января 2019

Хорошо, я понял, в чем проблема.Оказывается, после обновления до Gradle 4.4 вы получите сообщение об ошибке, если у вас есть дубликаты ссылок на библиотеки в вашем проекте.В моем случае это был файл xmlbeans-2.6.0.jar, и у меня были следующие конфликтующие зависимости:

implementation "org.apache.poi:poi:3.17"
implementation "org.apache.poi:poi-ooxml:3.17"
implementation 'com.fasterxml:aalto-xml:1.0.0'
implementation 'com.jakewharton:butterknife:8.5.1'

Поэтому в моем случае я сохранил следующее и закомментировал остальные:

//implementation "org.apache.poi:poi:3.17"
//implementation "org.apache.poi:poi-ooxml:3.17"
//implementation 'com.fasterxml:aalto-xml:1.0.0'
implementation 'com.jakewharton:butterknife:8.5.1'

Затем я повторно синхронизировал gradle, очистил и собрал проект, и моя проблема была решена.

...