Dear All, referring to other answers, related to the Jasper Library can be used in Android App in offline mode.. I need your kind help !!!.., as it will be beneficial to lot of people here in India, being Internet is not facilitated all the time..!!! In my Android Application, as i got stuck at one place, it is throwing exception while executing .... loadObject () JasperReport jasperReport = (JasperReport) JRLoader.loadObject(input);Below is the build.gradle file attached, alongwith the Activity Class... We have implemented as following.. , implementation 'com.itextpdf:itextg:5.5.10'implementation ('net.sf.jasperreports:jasperreports:6.0.3') { exclude module: 'stax' exclude module: 'stax-api' exclude module: 'xpp3' exclude group: 'com.itextpdf'} --------------------- exception ------------------------------------------ 2021-01-06 14:34:14.891 8630-8630/com.techinfu.billsmart W/zygote: Got a deoptimization request on un-deoptimizable method void com.android.internal.os.ZygoteInit.main(java.lang.String[]) 2021-01-06 14:34:14.891 8630-8630/com.techinfu.billsmart D/AndroidRuntime: Shutting down VM 2021-01-06 14:34:14.898 8630-8630/com.techinfu.billsmart E/AndroidRuntime: FATAL EXCEPTION: main Process: com.techinfu.billsmart, PID: 8630 java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/Font; at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.resolveObject(ContextClassLoaderObjectInputStream.java:130) at java.io.ObjectInputStream.checkResolve(ObjectInputStream.java:1402) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2003) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:504) at net.sf.jasperreports.engine.base.JRBaseReport.readObject(JRBaseReport.java:825) at java.lang.reflect.Method.invoke(Native Method) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1006) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1903) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1804) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1354) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:374) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:249) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:233) at com.techinfu.billsmart.ui.customer.CustomerList.generateCustomerListReport(CustomerList.java:112) at com.techinfu.billsmart.ui.customer.CustomerList.onCreate(CustomerList.java:73) at android.app.Activity.performCreate(Activity.java:7009) at android.app.Activity.performCreate(Activity.java:7000) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) Caused by: java.lang.ClassNotFoundException: Didn't find class "java.awt.Font" on path: DexPathList[[zip file "/data/app/com.techinfu.billsmart-kYWVPtN3srzFG7HPayxhPg==/base.apk"],nativeLibraryDirectories=[/data/app/com.techinfu.billsmart-kYWVPtN3srzFG7HPayxhPg==/lib/x86, /data/app/com.techinfu.billsmart-kYWVPtN3srzFG7HPayxhPg==/base.apk!/lib/x86, /system/lib, /vendor/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.resolveObject(ContextClassLoaderObjectInputStream.java:130) at java.io.ObjectInputStream.checkResolve(ObjectInputStream.java:1402) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2003) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:504) at net.sf.jasperreports.engine.base.JRBaseReport.readObject(JRBaseReport.java:825) at java.lang.reflect.Method.invoke(Native Method) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1006) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1903) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1804) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1354) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:374) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:249) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:233) at com.techinfu.billsmart.ui.customer.CustomerList.generateCustomerListReport(CustomerList.java:112) at com.techinfu.billsmart.ui.customer.CustomerList.onCreate(CustomerList.java:73) at android.app.Activity.performCreate(Activity.java:7009) at android.app.Activity.performCreate(Activity.java:7000) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)