I\'m going to add RESTful Web Service support with Spring to my Android application as described here https://spring.io/guides/gs/consuming-rest-android/.
This is to
Its helps me. Try this code:)
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
This one worked for me:
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
exclude 'META-INF/spring.schemas'
exclude 'META-INF/spring.tooling'
exclude 'META-INF/INDEX.LIST'
exclude 'META-INF/spring.handlers'
}
configurations {
all*.exclude module: 'classworlds'
all*.exclude module: 'commons-logging'
all*.exclude module: 'httpclient'
all*.exclude module: 'maven-artifact'
all*.exclude module: 'maven-artifact-manager'
all*.exclude module: 'maven-error-diagnostics'
all*.exclude module: 'maven-model'
all*.exclude module: 'maven-project'
all*.exclude module: 'maven-settings'
all*.exclude module: 'plexus-container-default'
all*.exclude module: 'plexus-interpolation'
all*.exclude module: 'plexus-utils'
all*.exclude module: 'wagon-file'
all*.exclude module: 'wagon-http-lightweight'
all*.exclude module: 'wagon-provider-api'
}
Write below lines in your app level gradle file
android {
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
}
}
adding these lines helped me.
shadowJar {
// Filtering shadow jar contents by file pattern.
exclude 'schemaorg_apache_xmlbeans/attribute/**'
exclude 'schemaorg_apache_xmlbeans/attributegroup/**'
exclude 'schemaorg_apache_xmlbeans/element/**'
exclude 'schemaorg_apache_xmlbeans/identityconstraint/**'
exclude 'schemaorg_apache_xmlbeans/javaname/**'
exclude 'schemaorg_apache_xmlbeans/modelgroup/**'
exclude 'schemaorg_apache_xmlbeans/namespace/**'
exclude 'schemaorg_apache_xmlbeans/src/**'
exclude 'schemaorg_apache_xmlbeans/system/sXML*/**'
exclude 'schemaorg_apache_xmlbeans/system/s8C3F193EE11A2F798ACF65489B9E6078/**'
exclude 'schemaorg_apache_xmlbeans/type/**'
exclude 'repackage/**'
exclude 'LICENSE.txt'
exclude 'NOTICE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/maven/**'
// these are only needed when handling Visio files, remove it if you would like to use Visio support
dependencies {
exclude(dependency('com.github.virtuald:curvesapi'))
exclude(dependency('commons-codec:commons-codec'))
}
// Relocate javax dependencies so Android does not choke
relocate 'javax.xml.namespace', 'org.apache.poi.javax.xml.namespace'
relocate 'javax.xml.stream', 'org.apache.poi.javax.xml.stream'
relocate 'javax.xml.XMLConstants', 'org.apache.poi.javax.xml.XMLConstants'
}
If the solution in the selected answer does not fix your problem, try adding
exclude 'META-INF/ASL2.0'
as well. Or basically, identify the name of the duplicate file and exclude it. The addition above fixed the issue for me.