commons-logging define las clases que entran en conflicto con las clases que ahora proporciona Android después de la actualización de Android Studio


He actualizado Android Studio a la versión 3 y ahora parece incapaz de compilar mi proyecto compilado anteriormente sin errores.

El mensaje de error es el siguiente

Error: Error: commons-logging define clases que entran en conflicto con clases ahora proporcionadas por Android. Las soluciones incluyen la búsqueda de nuevos versiones o bibliotecas alternativas que no tienen el mismo problema (por ejemplo, para httpclient use HttpURLConnection u okhttp en su lugar), o reempaquetar la biblioteca usando algo como jarjar. [DuplicatePlatformClasses]

Las dependencias son

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:27.0.0'
    compile 'com.android.support:design:27.0.0'
    compile 'com.google.api-client:google-api-client-android:1.23.0' exclude module: 'httpclient'
    compile 'com.google.http-client:google-http-client-gson:1.23.0' exclude module: 'httpclient'
    compile 'com.google.firebase:firebase-core:11.4.2'
}

Y el error parece causado por

compile 'com.google.api-client:google-api-client-android:1.23.0' exclude module: 'httpclient'
compile 'com.google.http-client:google-http-client-gson:1.23.0' exclude module: 'httpclient'

Ya uso exclude module: 'httpclient' Entonces, ¿por qué no compila? Es este un error de Android Studio 3 y\or included com.android.tools.build:gradle:3.0.0 plugin o me estoy perdiendo algo? Con la versión anterior no hay problema para compilar exactamente el mismo proyecto.

Author: AndreaF, 2017-10-28

7 answers

Agregar a build.gradle ubicado en el módulo de aplicación

configurations {
    all {
        exclude module: 'httpclient'
    }
}
 44
Author: Silverstorm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-29 00:32:50

Si el problema es con commons-logging entonces debe ser excluido también. Agregue el siguiente código en app / build.gradle

configurations {
    all {
        exclude module: 'httpclient'
        exclude module: 'commons-logging'
    }
}
 20
Author: srs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-09 06:18:53

Debes reemplazar "compile" por "implementation", ya que está obsoleto en el último gradle y excluye "org.apache.httpcomponents " de Google api client libraries:

implementation('com.google.api-client:google-api-client-android:1.23.0') {
    exclude group: 'org.apache.httpcomponents'
}
implementation('com.google.http-client:google-http-client-gson:1.23.0') {
    exclude group: 'org.apache.httpcomponents'
}

Esta solución se encontró aquí: https://developers.google.com/google-apps/activity/v1/quickstart/android

 3
Author: khammami,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-09 08:34:12

Ejecutar en terminal, dentro de la carpeta del proyecto:

./gradlew app:dependencies > dependencies.txt

A continuación, compruebe las dependencias.txt para encontrar quién está usando dependencias conflictivas y actuar en consecuencia (busque actualizaciones, deshágase de ellas o use exclude como sugiere @Silverstorm)

 2
Author: Sergio Viudes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-15 09:10:23

Tiene el mismo problema. He hecho los siguientes cambios

 configurations {
    all{
        exclude group: 'commons-logging', module: 'commons-logging'
        exclude group: 'org.apache.httpcomponents'
    }
}


packagingOptions {
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/NOTICE'
    exclude 'org/apache/http/version.properties'
    exclude 'org/apache/http/client/version.properties'
}
 2
Author: Raja Peela,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-23 07:15:33

Si desea continuar con async-http entonces agregue el siguiente código solo en app/build.gradle

configurations {
    all {
        exclude module: 'commons-logging'
    }
}
 1
Author: Exigente05,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-31 09:47:18

Como ' org.apache.httpcomponents: httpclient: 4.3.3 ' está obsoleto después de SDKversion 23 so

Sustitúyase esto:

compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'

Con

compile 'org.apache.httpcomponents:httpclient:4.3.3'
 0
Author: Muhammad Etisam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-08 20:05:48