FHIR Chat · Android FATAL EXCEPTION · hapi

Stream: hapi

Topic: Android FATAL EXCEPTION


view this post on Zulip Raed Cran (Oct 20 2018 at 04:00):

Hello,
I'm trying to run a search query inside an Asynctask in my Android app. Everything works fine in the emulator, but in my physical device it crashes with a fatal exception:

E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
    Process: com.creare.fhirapp, PID: 16517
    java.lang.RuntimeException: An error occurred while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:309)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
        at java.util.concurrent.FutureTask.run(FutureTask.java:242)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
        at java.lang.Thread.run(Thread.java:818)
     Caused by: java.lang.NoClassDefFoundError: com.google.common.escape.Escaper$1
        at com.google.common.escape.Escaper.<init>(Escaper.java:85)
        at com.google.common.escape.UnicodeEscaper.<init>(UnicodeEscaper.java:59)
        at com.google.common.net.PercentEscaper.<init>(PercentEscaper.java:85)
        at ca.uhn.fhir.util.UrlUtil.<clinit>(UrlUtil.java:44)
        at ca.uhn.fhir.util.UrlUtil.isValid(UrlUtil.java:136)
        at ca.uhn.fhir.parser.BaseParser.getExtensionUrl(BaseParser.java:475)
        at ca.uhn.fhir.parser.JsonParser.parseExtension(JsonParser.java:1056)
        at ca.uhn.fhir.parser.JsonParser.parseChildren(JsonParser.java:916)
        at ca.uhn.fhir.parser.JsonParser.parseChildren(JsonParser.java:1020)
        at ca.uhn.fhir.parser.JsonParser.parseChildren(JsonParser.java:1001)
        at ca.uhn.fhir.parser.JsonParser.parseChildren(JsonParser.java:937)
        at ca.uhn.fhir.parser.JsonParser.parseChildren(JsonParser.java:1020)
        at ca.uhn.fhir.parser.JsonParser.parseChildren(JsonParser.java:1001)
        at ca.uhn.fhir.parser.JsonParser.parseChildren(JsonParser.java:937)
        at ca.uhn.fhir.parser.JsonParser.doParseResource(JsonParser.java:183)
        at ca.uhn.fhir.parser.JsonParser.doParseResource(JsonParser.java:165)
        at ca.uhn.fhir.parser.BaseParser.parseResource(BaseParser.java:654)
        at ca.uhn.fhir.rest.client.impl.BaseClient$ResourceResponseHandler.invokeClient(BaseClient.java:537)
        at ca.uhn.fhir.rest.client.impl.BaseClient$ResourceResponseHandler.invokeClient(BaseClient.java:489)
        at ca.uhn.fhir.rest.client.impl.BaseClient.invokeClient(BaseClient.java:353)
        at ca.uhn.fhir.rest.client.impl.GenericClient$BaseClientExecutable.invoke(GenericClient.java:448)
        at ca.uhn.fhir.rest.client.impl.GenericClient$FetchConformanceInternal.execute(GenericClient.java:702)
        at ca.uhn.fhir.rest.client.impl.RestfulClientFactory.validateServerBase(RestfulClientFactory.java:301)
        at ca.uhn.fhir.rest.client.impl.RestfulClientFactory.validateServerBaseIfConfiguredToDoSo(RestfulClientFactory.java:264)
        at ca.uhn.fhir.rest.client.impl.BaseClient.invokeClient(BaseClient.java:210)
        at ca.uhn.fhir.rest.client.impl.GenericClient$BaseClientExecutable.invoke(GenericClient.java:448)
        at ca.uhn.fhir.rest.client.impl.GenericClient$SearchInternal.execute(GenericClient.java:1776)
        at com.creare.fhirapp.PatientsFragment$2.doInBackground(PatientsFragment.java:118)
        at com.creare.fhirapp.PatientsFragment$2.doInBackground(PatientsFragment.java:109)
        at android.os.AsyncTask$2.call(AsyncTask.java:295)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
        at java.lang.Thread.run(Thread.java:818)

any suggestion?

view this post on Zulip Raed Cran (Oct 26 2018 at 19:09):

Ok, I fixed this by adding the following dependency:
api 'com.google.guava:guava:26.0-android'


Last updated: Apr 12 2022 at 19:14 UTC