so whenever I uncomment the
//proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
line in my app module's build.gradle file, my app crashes at runtime. If I keep this line commented, my app works perfectly fine.
The error message I get is here:
Process: com.sbeve.jada, PID: 9773
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sbeve.jada/com.sbeve.jada.ui.activities.MainActivity}: android.view.InflateException: Binary XML file line #15 in com.sbeve.jada:layout/activity_main: Binary XML file line #15 in com.sbeve.jada:layout/activity_main: Error inflating class androidx.fragment.app.FragmentContainerView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3449)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: android.view.InflateException: Binary XML file line #15 in com.sbeve.jada:layout/activity_main: Binary XML file line #15 in com.sbeve.jada:layout/activity_main: Error inflating class androidx.fragment.app.FragmentContainerView
Caused by: android.view.InflateException: Binary XML file line #15 in com.sbeve.jada:layout/activity_main: Error inflating class androidx.fragment.app.FragmentContainerView
Caused by: b.k.b.m$c: Unable to instantiate fragment com.sbeve.jada.ui.fragments.MainFragment: calling Fragment constructor caused an exception
at b.k.b.b0$e.a(:4)
at b.o.x.a.b(:4)
at b.o.o.b(:9)
at androidx.navigation.NavController.e(:5)
at androidx.navigation.NavController.i(:42)
at androidx.navigation.fragment.NavHostFragment.S(:24)
at b.k.b.h0.e(:1)
at b.k.b.h0.k(:8)
at b.k.b.b0.E(:8)
at b.k.b.b0.Y(Unknown Source:94)
at b.k.b.b0.D(Unknown Source:30)
at androidx.fragment.app.FragmentContainerView.<init>(:7)
at b.k.b.z.onCreateView(Unknown Source:16)
at b.k.b.p.onCreateView(:4)
at android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1067)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:995)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:959)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1121)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)
at android.view.LayoutInflater.inflate(LayoutInflater.java:680)
at android.view.LayoutInflater.inflate(LayoutInflater.java:532)
at com.sbeve.jada.ui.activities.MainActivity.onCreate(:1)
at android.app.Activity.performCreate(Activity.java:8000)
at android.app.Activity.performCreate(Activity.java:7984)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
... 37 more
Caused by: java.lang.LinkageError: Method void com.sbeve.jada.ui.fragments.MainViewModel.a() overrides final method in class Lb/m/v; (declaration of 'com.sbeve.jada.ui.fragments.MainViewModel' appears in /data/app/~~ssx--eJmwiONCO59XV-zFA==/com.sbeve.jada-hcyjbzYHXgaIG8vOt7SZOQ==/base.apk)
... 39 more
This error is very confusing and I can't find any error in my MainActivity's layout file. I don't understand why this error only shows when I uncomment that line. It seems like I need to add a proguard rule but I don't know what I need to add to my proguard.
and since my app is open source, you can check the full source code at https://github.com/sbeve72/JADA