0

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

Sbeve
  • 91
  • 2
  • 16
  • Try `fragment` Instead of `fragmentContainer` on your layout – Ananiya Jemberu Jun 01 '21 at 13:42
  • I have already tried that – Sbeve Jun 01 '21 at 14:35
  • 1
    The underlying issue is this one: `Method void com.sbeve.jada.ui.fragments.MainViewModel.a() overrides final method in class Lb/m/v;`. You can check the mapping file to find out what `a()` and `Lb/m/v;`, which might give you a clue how to solve it. – Alex Lipov Jun 02 '21 at 18:50

0 Answers0