Reputation: 1
in my Flutter app, I'm calling into a Java framework (Smack), which does work perfectly well if I compile it as debug or profile, but not in release mode. I guess this must be related to some intricacies in the build process.
The relevant line from the callstack is this:
Caused by: org.xmlpull.v1.XmlPullParserException: unsupported feature: XMLPULL FAQ (position:START_DOCUMENT null@1:1)
at org.kxml2.io.KXmlParser.setFeature(KXmlParser.java:2102)
Has anybody any idea? Any help greatly appreciated!
here's the full stack trace:
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:353)
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:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.util.ServiceConfigurationError: h8.e: Provider i8.b could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:233)
at java.util.ServiceLoader.-wrap1(Unknown Source:0)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:392)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:416)
at java.util.ServiceLoader$1.next(ServiceLoader.java:494)
at h8.a.a(Unknown Source:17)
at h8.a.b(Unknown Source:0)
at d8.a0.d(Unknown Source:7)
at a7.z.d(Unknown Source:0)
at a7.z.c(Unknown Source:6)
at a7.z.(Unknown Source:97)
at a7.u.b(Unknown Source:0)
at a7.u.a(Unknown Source:7)
at a7.k.(Unknown Source:26)
at p4.b.a(Unknown Source:5)
at p4.b.doInBackground(Unknown Source:2)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.ExceptionInInitializerError
at java.lang.Class.newInstance(Native Method)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:388)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:416)
at java.util.ServiceLoader$1.next(ServiceLoader.java:494)
at h8.a.a(Unknown Source:17)
at h8.a.b(Unknown Source:0)
at d8.a0.d(Unknown Source:7)
at a7.z.d(Unknown Source:0)
at a7.z.c(Unknown Source:6)
at a7.z.(Unknown Source:97)
at a7.u.b(Unknown Source:0)
at a7.u.a(Unknown Source:7)
at a7.k.(Unknown Source:26)
at p4.b.a(Unknown Source:5)
at p4.b.doInBackground(Unknown Source:2)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.xmlpull.v1.XmlPullParserException: unsupported feature: XMLPULL FAQ (position:START_DOCUMENT null@1:1)
at org.kxml2.io.KXmlParser.setFeature(KXmlParser.java:2102)
at i8.b.(Unknown Source:25)
at java.lang.Class.newInstance(Native Method)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:388)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:416)
at java.util.ServiceLoader$1.next(ServiceLoader.java:494)
at h8.a.a(Unknown Source:17)
at h8.a.b(Unknown Source:0)
at d8.a0.d(Unknown Source:7)
at a7.z.d(Unknown Source:0)
at a7.z.c(Unknown Source:6)
at a7.z.(Unknown Source:97)
at a7.u.b(Unknown Source:0)
at a7.u.a(Unknown Source:7)
at a7.k.(Unknown Source:26)
at p4.b.a(Unknown Source:5)
at p4.b.doInBackground(Unknown Source:2)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Upvotes: 0
Views: 114
Reputation: 1
I solved problem. The ProGuard optimization step messed things up and corrupted the code. When I add these customizations to the proguard configuration:
-keep class org.jivesoftware.** { *; }
-keep class org.xmlpull.** { *; }
-keep class org.bouncycastle.jcajce.provider.** { *; }
then Smack works for me in Flutter / Android
Upvotes: 0