簡體   English   中英

Android:包含用於Retrofit2的SimpleXML轉換器時,ClassNotFoundException

[英]Android: ClassNotFoundException when including SimpleXML converter for Retrofit2

我使用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'
}

在哪里嚇到我了。 我在進行調用時收到以下錯誤,我在響應中使用了回調,並且在failure子句中得到了以下信息:

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改造。

有任何想法嗎? 最好的問候,克里斯托弗

我不知道您是否仍然遇到這個問題,但是我碰到了這個問題,只需要更改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'
})

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM