Stream: hapi
Topic: Android FATAL EXCEPTION
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?
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