is there a solution to calling BackgroundTask in Android 10?

733 Views Asked by At

I have a BackgroundTask that calls a webservice method and it returns a string as an answer. I'm using HttpTransportSE protocol to call the SOAP_ACTION. The problem I have is that all is working fine on Android 9 (Pie) or earlier but when my phone got updated few days ago to Android 10 this part of code crashes.

      try
            {
                androidHttpTransport.call(SOAP_ACTION, envelope);
            }

            catch (IOException | XmlPullParserException e)
            {
                e.printStackTrace();

            }

            response =  envelope.getResponse();

I looked at Debug Log and I got this message explaining my error and I think the problem is KXmlSerializer but I have no idea how to resolve the problem.

    E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: com.myApp.myApp.myApp, PID: 31124
java.lang.RuntimeException: An error occurred while executing doInBackground()
    at android.os.AsyncTask$4.done(AsyncTask.java:399)
    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
    at java.util.concurrent.FutureTask.run(FutureTask.java:271)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:919)
 Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/kxml2/io/KXmlSerializer;
    at org.ksoap2.transport.Transport.createRequestData(Transport.java:80)
    at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:79)
    at com.example.myApp.myApp.Activity_splash_screen_fragment$BackgroundIsTheUserRegistrated.doInBackground(Activity_splash_screen_fragment.java:289)
    at com.example.myApp.myApp.Activity_splash_screen_fragment$BackgroundIsTheUserRegistrated.doInBackground(Activity_splash_screen_fragment.java:208)
    at android.os.AsyncTask$3.call(AsyncTask.java:378)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
    at java.lang.Thread.run(Thread.java:919) 
 Caused by: java.lang.ClassNotFoundException: Didn't find class "org.kxml2.io.KXmlSerializer" on path: DexPathList[[zip file "/data/app/com.myApp.myApp.myApp-qFqHY1ZB93Aa6uV4aRXMkQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.myApp.myApp.myApp-qFqHY1ZB93Aa6uV4aRXMkQ==/lib/x86, /data/app/com.myApp.myApp.myApp-qFqHY1ZB93Aa6uV4aRXMkQ==/base.apk!/lib/x86, /system/lib, /system/product/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at org.ksoap2.transport.Transport.createRequestData(Transport.java:80) 
    at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:79) 
    at com.example.myApp.myApp.Activity_splash_screen_fragment$BackgroundIsTheUserRegistrated.doInBackground(Activity_splash_screen_fragment.java:289) 
    at com.example.myApp.myApp.Activity_splash_screen_fragment$BackgroundIsTheUserRegistrated.doInBackground(Activity_splash_screen_fragment.java:208) 
    at android.os.AsyncTask$3.call(AsyncTask.java:378) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
    at java.lang.Thread.run(Thread.java:919)
0

There are 0 best solutions below