Android:包含用于Retrofit2的SimpleXML转换器时的ClassNotFoundException

时间:2016-09-09 08:21:02

标签: java android classnotfoundexception retrofit2 simple-framework

我使用Retrofit2来调用不同的API,到目前为止我只调用了REST API,但现在我需要一个SOAP API调用。它一直有效,直到我添加一个依赖

compile 'compile('com.squareup.retrofit2:converter-simplexml:2.0.2') {
    compile.exclude module: 'stax'
    compile.exclude module: 'stax-api'
    compile.exclude module: 'xpp3'
}

对我来说有点吓坏了。我在调用时收到以下错误,我使用回调作为响应,在失败条款中我得到了这个:

java.lang.ClassNotFoundException: Didn't find class
"user_font_size_normal" on path: DexPathList[[zip file "/data
/app/com.my.app.debug-2.apk", zip file "/data/data/com.my.app.debug
/code_cache/secondary-dexes/com.my.app.debug-
2.apk.classes2.zip"],nativeLibraryDirectories=[/data/app-lib
/com.my.app.debug-2, /system/lib]]

我启用了multiDex。如果我删除了compile.exludes,我认为有一些ProGuard问题,因为它根本不会编译。我以前使用gsonconverter并使用改造2.0.2。

有什么想法吗? 最好的祝福, 克里斯托弗

1 个答案:

答案 0 :(得分:1)

我不知道你是否仍然遇到这个问题,但我刚刚遇到它,我只需要改变我的gradle依赖关系就好了。

compile('com.squareup.retrofit2:converter-simplexml:2.1.0', {
    exclude group: 'xpp3', module: 'xpp3'
    exclude group: 'stax', module: 'stax-api'
    exclude group: 'stax', module: 'stax'
})

希望有所帮助。