I have been working on this Android app that extracts content from an online article. I'm trying to fix this error for hours now, so I would really appreciate it if anyone can help. I have seen some few similar questions but none of that is applicable for my app so I'm posting this. I don't know how to fix this error with AsyncTask.
<Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/Image; at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl
>
These are the full error messages
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: com.example.chaudo.textsummarizingapp, PID: 4446
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:354)
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:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/Image;
at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl.<clinit>(RuntimeBuiltinLeafInfoImpl.java:381)
at com.sun.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl.<init>(RuntimeTypeInfoSetImpl.java:63)
at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:128)
at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:84)
at com.sun.xml.bind.v2.model.impl.ModelBuilder.<init>(ModelBuilder.java:162)
at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:92)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:444)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:292)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:139)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1138)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:162)
at java.lang.reflect.Method.invoke(Native Method)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:262)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:249)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:456)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:656)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:599)
at com.aylien.textapi.TextAPIClient.extract(TextAPIClient.java:102)
at com.example.chaudo.textsummarizingapp.ArticleClass.articleExtract(ArticleClass.java:35)
at com.example.chaudo.textsummarizingapp.ArticleClass.doInBackground(ArticleClass.java:62)
at com.example.chaudo.textsummarizingapp.ArticleClass.doInBackground(ArticleClass.java:13)
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:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
E/AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "java.awt.Image" on path: DexPathList[[zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/base.apk", zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_resources_apk.apk", zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/lib/x86, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) ... 27 more Suppressed: java.io.IOException: No original dex files found for dex location /data/app/com.example.chaudo.textsummarizingapp-w8twusyP96c8nQsFdomFUA==/split_lib_resources_apk.apk at dalvik.system.DexFile.openDexFileNative(Native Method) at dalvik.system.DexFile.openDexFile(DexFile.java:354) at dalvik.system.DexFile.(DexFile.java:101) at dalvik.system.DexFile.(DexFile.java:75) at dalvik.system.DexPathList.loadDexFile(DexPathList.java:394) at dalvik.system.DexPathList.makeDexElements(DexPathList.java:354) at dalvik.system.DexPathList.(DexPathList.java:164) at dalvik.system.BaseDexClassLoader.(BaseDexClassLoader.java:74) at dalvik.system.BaseDexClassLoader.(BaseDexClassLoader.java:65) at dalvik.system.PathClassLoader.(PathClassLoader.java:64) at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:73) at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:88) at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:74) at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:40) at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:727) at android.app.LoadedApk.getClassLoader(LoadedApk.java:810) at android.app.LoadedApk.getResources(LoadedApk.java:1032) at android.app.ContextImpl.createAppContext(ContextImpl.java:2345) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5749) at android.app.ActivityThread.access$1100(ActivityThread.java:199) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
This is my code. I tested the articleExtract() function to make sure it works properly in a normal Java class, but it shows error when I tried to call it through AsyncTask in the MainActivity in Android Studio.
@Override
protected Void doInBackground(Void... voids) {
try {
articleExtract();
System.out.println(article);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (TextAPIException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void s) {
//Show the result obtained from doInBackground
System.out.println(article);
}
In the Main Thread
new ArticleClass(url).execute();