执行发布版本的gradle构建时出现此错误。
错误:xpp3定义了与现在提供的类冲突的类 Android系统。解决方案包括寻找更新的版本或替代品 没有相同问题的库(例如,for httpclient使用HttpUrlConnection或okhttp代替)或重新打包 图书馆使用像jarjar这样的东西。 [DuplicatePlatformClasses]
我试图排除httpclient
,但这没有帮助
在调试版本中它的工作但在发布版本中它给了我这个错误。
我使用的是Android异步Http客户端,但删除它也无法解决错误。
我的gradle看起来像这样:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.corona.corona"
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.android.support:recyclerview-v7:26.1.0'
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.pkmmte.view:circularimageview:1.1'
implementation 'com.google.code.gson:gson:2.8.0'
implementation 'org.igniterealtime.smack:smack-android:4.1.0'
implementation 'org.igniterealtime.smack:smack-tcp:4.1.0'
implementation 'org.igniterealtime.smack:smack-android-extensions:4.1.0'
implementation 'com.mcxiaoke.volley:library:1.0.19'
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'id.zelory:compressor:2.1.0'
implementation 'com.googlecode.libphonenumber:libphonenumber:8.6.0'
implementation 'io.github.rockerhieu:emojicon:1.4.2'
implementation 'io.github.rockerhieu:emojiconize:1.0.0'
implementation 'com.google.android:flexbox:0.3.1'
implementation 'com.mani:ThinDownloadManager:1.4.0'
implementation 'jp.wasabeef:blurry:2.1.1'
implementation 'com.facebook.shimmer:shimmer:0.1.0@aar'
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
}
repositories {
mavenCentral()
}
configurations {
all {
exclude module: 'httpclient'
exclude module: 'commons-logging'
exclude group: 'org.apache.httpcomponents'
}
}
答案 0 :(得分:12)
似乎问题来自Smack库。尝试排除xpp3模块。
configurations {
all {
...
exclude group: 'xpp3', module: 'xpp3'
}
}
答案 1 :(得分:2)
您需要使用以下命令从smack库中排除xpp3:
implementation ('org.igniterealtime.smack:smack-android:4.1.0') {
exclude group: 'xpp3', module: 'xpp3'
}
implementation ('org.igniterealtime.smack:smack-tcp:4.1.0') {
exclude group: 'xpp3', module: 'xpp3'
}
implementation ('org.igniterealtime.smack:smack-android-extensions:4.1.0') {
exclude group: 'xpp3', module: 'xpp3'
}
或者,就像@ jose-antelo一样,您可以使用以下代码从所有依赖项中删除xpp3:
configurations {
all*.exclude group: 'xpp3', module: 'xpp3'
}