watson-developer-cloud / java-sdk

:1st_place_medal: Java SDK to use the IBM Watson services.
http://watson-developer-cloud.github.io/java-sdk/
Apache License 2.0
594 stars 532 forks source link

Fatal Exception: java.lang.NoClassDefFoundError on Android 6 #1212

Closed vinzaceto closed 8 months ago

vinzaceto commented 2 years ago

We are facing a fatal crash on Android 6 on create assistant session: NoClassDefFoundError Exception. This is the log of the crash:

Fatal Exception: java.lang.NoClassDefFoundError: com.google.common.escape.Escaper$1
       at com.google.common.escape.Escaper.<init>(Escaper.java:87)
       at com.google.common.escape.UnicodeEscaper.<init>(UnicodeEscaper.java:59)
       at com.google.common.net.PercentEscaper.<init>(PercentEscaper.java:85)
       at com.google.common.net.UrlEscapers.<clinit>(UrlEscapers.java:77)
       at com.google.common.net.UrlEscapers.urlPathSegmentEscaper(UrlEscapers.java:110)
       at com.ibm.cloud.sdk.core.http.RequestBuilder.<clinit>(RequestBuilder.java:43)
       at com.ibm.watson.assistant.v2.Assistant.createSession(Assistant.java:168)
       at it.sisalpay.chatbot.controllers.ChatbotController.createChatBotSession(ChatbotController.java:224)

The problem seems to be related to GUAVA version used in the SDK. Looking at your pom.xml file, I found this:

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>27.1-android</version>
            <scope>test</scope>
        </dependency>

that may not be compatible with Android 6 (API 26).

Could you check and give us feedback?

SDK Version

Additional information:

apaparazzi0329 commented 8 months ago

Closing due to age. If this issue is still a concern please feel free to reopen this issue and I will address it promptly