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.
7 answers
Agregar a build.gradle
ubicado en el módulo de aplicación
configurations {
all {
exclude module: 'httpclient'
}
}
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'
}
}
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
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)
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'
}
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'
}
}
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'
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